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" <[email protected]> To: "Prototype & script.aculo.us" <[email protected]> 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" <[email protected]> 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" <[email protected]> > To: "Prototype & script.aculo.us" > <[email protected]> > 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" <[email protected]> > 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" <[email protected]> > > To: "Prototype & script.aculo.us" > > <[email protected]> > > 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" <[email protected]> > > 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" <[email protected]> > > > To: "Prototype & script.aculo.us" > > > <[email protected]> > > > 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" <[email protected]> > > > 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" <[email protected]> > > > > To: "Prototype & script.aculo.us" > > > > <[email protected]> > > > > 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" <[email protected]> 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" <[email protected]> > > > > > Sent: Tuesday, July 28, 2009 7:02 AM > > > > > To: "Prototype & script.aculo.us" > > > > > <[email protected]> > > > > > 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 [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en -~----------~----~----~----~------~----~------~--~---
