Ok James, just one question though. I am using CI-CMS and I have my gallery
page is contained in a wrapper used for every page on the site. So if I add
the binding in the page head (which is shared for all pages) the gallery
classes tags do not exist. Will this cause an issue. If it does then I need
to modify the js in the head when building up the gallery page contents.
Again, I thank you for your help. I'm an old C/C++/Pascal /ADA/Fortran guy
so I am not well versed in javascript or ajax. My code was mostly taken from
some early ajax/php books. But I am eager to learn the proper ways of doing
ajax and using jquery. It seems to have some amazing functionality built
into it.


Thanks again,

Randall

On Thu, Mar 12, 2009 at 2:46 PM, James <james.gp....@gmail.com> wrote:

>
> The issue is not the anchor tag around the image. The issue is how
> your events and actions are working. This is what your script is
> doing:
>
> - A user clicks on the image (the <a> link)
> - This call updateGallery()
> - updateGallery() sets an event -> "when clicking on any <a> link with
> class "galleryNavHA", you do the AJAX"
> - End
>
> This doesn't actually do the AJAX. It just binds a click event.
> Suppose a user clicks on that (or any) image again:
> - User clicks on the image
> - This calls updateGallery() AND the binded event to do the AJAX.
> - updateGallery() sets another, duplicated, event -> "when clicking on
> any <a> link with class "galleryNavHA", you do the AJAX"
> - End
>
> What you need to do is bind the click event on page load. If the user
> has no Javascript enabled, the click binding will not be done, and the
> <a> link will do its default job.
>
> <script>
> $(function() {
>     $(".galleryNavHA").click(function(event){
>           var href = this.href;
>          var rel = this.rel;
>           // do your ajax stuff
>          return false;
>     });
> });
> </script>
>
>
> <a class="galleryNavHA" rel="http://hooker.dotnetnebraska.com/
> index.php/gallery/getAjaxNavH/4/101" href=http://
> hooker.dotnetnebraska.com/index.php/gallery/getAjaxMainImage/4/101
> ><img class="galleryNavHImg" src=http://hooker.dotnetnebraska.com/
> images/o/30big.jpg /></a>
>
> This keeps the Javascript outside of the HTML also.
>
>
>
> On Mar 12, 11:18 am, Randall Morgan <rmorga...@gmail.com> wrote:
> > Hi Yes, I have the anchors because I need to insure there is some
> > functionality when js is not available. I have used anchors with my own
> ajax
> > code without issue as long as I return false from the js function call.
> Is
> > this a known issue with JQuery, that you can't provide a default action
> for
> > an anchor? If it is, how to I insure the image is still available if
> > javascript is turned off?
> > Thank you for you help.
> >
> >
> >
> > On Thu, Mar 12, 2009 at 1:50 PM, mkmanning <michaell...@gmail.com>
> wrote:
> >
> > > Not looking any further, you have anchors with inline onclick events
> > > (not considered good practice btw) which call the updateGallery()
> > > function, which then binds a click event on the same anchors, every
> > > time you click them again?
> >
> > > <a onclick="javascript:updateGallery();" class="galleryNavHA"...
> >
> > > You might want to rethink it a little bit :P
> >
> > > On Mar 12, 10:46 am, Monotoba <rmorga...@gmail.com> wrote:
> > > > Hello,
> >
> > > > I have use ajax.load in the following function to load both a main
> > > > image and an image navigation bar on a single page. The fucntion
> works
> > > > in IE but not in FF or Chrome. I am not fluent enough (yet) with
> > > > javascript or firebug to figure out what is happening. The demo page
> > > > can be found at:http://hooker.dotnetnebraska.com/index.php/gallery
> >
> > > >                 /*
> > > >                  * Updates Photo Gallery
> > > >                  */
> > > >                 function updateGallery() {
> > > >                         $(".galleryNavHA").click(function(event){
> > > >                                 event.preventDefault();
> > > >                                 var href = this.href;
> > > >                                 var rel = this.rel;
> > > >
> //$(".galleryMainImg").fadeOut("slow");
> > > >
> $(".galleryMainImageDivCls").load(href);
> > > >
> //$(".galleryMainImg").fadeIn("slow");
> > > >                                 $(".galleryNavDivCls").load(rel);
> > > >                                 return false;
> > > >                         });
> > > >                 }
> >
> > > > Any help getting this to work would be greatly appreciated.
> >
> > > > Thanks,
> >
> > > > R Morgan
> >
> > --
> > If you ask me if it can be done. The answer is YES, it can always be
> done.
> > The correct questions however are... What will it cost, and how long will
> it
> > take?
>



-- 
If you ask me if it can be done. The answer is YES, it can always be done.
The correct questions however are... What will it cost, and how long will it
take?

Reply via email to