You have a noticeable invalid spec on that pastie...

The first is all of the buttons have the same id of  "clearButton"....
Element id's should be unique.

If you're loading the bits via ajax then you will need to clean up the old 
function and bind a new one each time the ajax is called.

There are many ways to do this, i prefer wrapping the $$().invoke(........ 
part of the script in its own funciton and calling that either at the bottom 
of the Ajax.Updater/Request or onSuccess.

For garbage colleciton (unbinding the old binds and so on to keep a clean 
scope simply

I have ammended the code and reposted it at....

http://pastie.org/566530

I put in a self cleaning call into the funciton for you that will stop the 
observing and set the window.lastMorphed variable to null...

This should keep the window scope clean and also remove the binding on 
elements that dont exist after an Ajax.Updater.

You should call it in the 'onSuccess' part of your ajax

something like

onSuccess : function() {
    initMorphing();
}

HTH

Regards

Alex Mcauley
http://www.thevacancymarket.com
----- Original Message ----- 
From: "Andrew Dodd" <a...@slicethepie.com>
To: "Prototype & script.aculo.us" <prototype-scriptaculous@googlegroups.com>
Sent: Friday, July 31, 2009 12:13 PM
Subject: [Proto-Scripty] Re: Effect.Morph query



I do have another question.

The list of elements is loaded with ajax, I think it is properly
formed for your script to work but it's here in case you want to
check:

http://pastie.org/566516

I think I need to run your script after each AJAX reload of the data
but I'm not sure how to achieve this, would the browser recognise the
script is I echo it in the php output from the file running the query?

Cheers
Andy




On Jul 31, 11:01 am, "Alex McAuley" <webmas...@thecarmarketplace.com>
wrote:
> You;re more than welcome....
>
> That will give you he basis on how to do this kinda stuff without onclick!
>
> Anything else just let me/the group know
>
> Regards
>
> Alex Mcauleyhttp://www.thevacancymarket.com
>
> ----- Original Message -----
> From: "Andrew Dodd" <a...@slicethepie.com>
> To: "Prototype & script.aculo.us" 
> <prototype-scriptaculous@googlegroups.com>
> Sent: Friday, July 31, 2009 10:59 AM
> Subject: [Proto-Scripty] Re: Effect.Morph query
>
> Sorry, forgot to mention I was an idiot :)
>
> Thanks very much it works brilliantly
>
> On Jul 31, 10:39 am, "Alex McAuley" <webmas...@thecarmarketplace.com>
> wrote:
> > Andy you completely disregarded the onclick notes i gave you and mangled
> > the
> > script.
>
> >http://pastie.org/566455
>
> > That works completely fine... all you ahev to do is remve the
> > <script src="/resources/includes/client/shrunkpse.js"
> > type="text/javascript"></script>
> > Block and put in your paths to prototype,scriptaculous,effects and it
> > works
> > how you want it to.
>
> > HTH
>
> > (stay away form onlick)!!
>
> > Alex Mcauleyhttp://www.thevacancymarket.com
>
> > ----- Original Message -----
> > From: "Andrew Dodd" <a...@slicethepie.com>
> > To: "Prototype & script.aculo.us"
> > <prototype-scriptaculous@googlegroups.com>
> > Sent: Friday, July 31, 2009 9:54 AM
> > Subject: [Proto-Scripty] Re: Effect.Morph query
>
> > Hi
>
> > Thanks for the help, I tried the above in a clean page but I can't
> > get it to work, the code as I've implemented it is here:
>
> > <script src='http://pastie.org/566433.js'></script>
>
> > Can you see where I've gone wrong (it's almost definately my fault) :)
>
> > Cheers
> > Andy
>
> > On Jul 30, 11:03 am, "Alex McAuley" <webmas...@thecarmarketplace.com>
> > wrote:
> > > A couple of things i would do.
>
> > > First i would remove the onlick and assign the elements a classname
> > > something like this will work
>
> > >http://pastie.org/565060
>
> > > HTH
>
> > > Alex Mcauleyhttp://www.thevacancymarket.com
>
> > > ----- Original Message -----
> > > From: "Andrew Dodd" <a...@slicethepie.com>
> > > To: "Prototype & script.aculo.us"
> > > <prototype-scriptaculous@googlegroups.com>
> > > Sent: Thursday, July 30, 2009 10:42 AM
> > > Subject: [Proto-Scripty] Re: Effect.Morph query
>
> > > The code is being echoed in a php script (hence the $row and $class
> > > variables but they do translate properly) I've pasted it below:
>
> > > onclick="Effect.morph(lastPlayed , {'style: $class'}), $('$row
> > > [TrackID]').morph('background:#ffcc33;'),var lastPlayed = ''$row
> > > [TrackID]';"
>
> > > This is one of my many failed attempts.
>
> > > Thanks for the help
>
> > > Cheers
> > > Andy
>
> > > On Jul 30, 10:26 am, "Alex McAuley" <webmas...@thecarmarketplace.com>
> > > wrote:
> > > > Can you give an example of your code in a pastebin and i will ammend
> > > > it
> > > > to
> > > > do what it needs to.
>
> > > > Regards
>
> > > > Alex Mcauleyhttp://www.thevacancymarket.com
>
> > > > ----- Original Message -----
> > > > From: "Andrew Dodd" <a...@slicethepie.com>
> > > > To: "Prototype & script.aculo.us"
> > > > <prototype-scriptaculous@googlegroups.com>
> > > > Sent: Thursday, July 30, 2009 10:23 AM
> > > > Subject: [Proto-Scripty] Re: Effect.Morph query
>
> > > > I'm not really sure how to, I've been messing with it for a couple 
> > > > of
> > > > days to no avail.
>
> > > > I have been trying to use a variable to achieve this so that th
> > > > onClick does the following in this order:
>
> > > > 1./ Reset the morph effect on the "lastPlayed" element
> > > > 2./ Apply the morph effect to the clicked element
> > > > 3./ Set the "lastPlayed" variable to match the id of the clicked
> > > > element.
>
> > > > Among other errors I've recieved is that lastPlayed is undefined but 
> > > > I
> > > > think this may be down to me not knowing how to use a variable 
> > > > instead
> > > > of an element id in the morph statment.
>
> > > > Cheers
> > > > Andy
>
> > > > On Jul 28, 10:39 pm, "Andy Daykin" <daykina...@gmail.com> wrote:
> > > > > Why don't you use an array to store all of the elements that have
> > > > > been
> > > > > clicked and treat it like a queue?
>
> > > > > --------------------------------------------------
> > > > > From: "Andrew Dodd" <a...@slicethepie.com>
> > > > > Sent: Tuesday, July 28, 2009 7:02 AM
> > > > > To: "Prototype & script.aculo.us"
> > > > > <prototype-scriptaculous@googlegroups.com>
> > > > > Subject: [Proto-Scripty] Effect.Morph query
>
> > > > > > Hi
>
> > > > > > I page with multiple elements each of which are highlighted
> > > > > > (individually) onclick.
>
> > > > > > I would like the morph effect to be removed from the previous
> > > > > > element
> > > > > > when a new one is clicked (highlighted).
>
> > > > > > I won't know what the id of the previous element was though, is
> > > > > > there
> > > > > > a way to achieve this?
>
> > > > > > Cheers
> > > > > > Andy



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to prototype-scriptaculous@googlegroups.com
To unsubscribe from this group, send email to 
prototype-scriptaculous+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to