Hi Gareth,

Oh, yes I didn't add the onclick attribute to those years yet, sorry
about that.

Thanks

On Mar 18, 9:17 pm, "Gareth Evans" <[EMAIL PROTECTED]> wrote:
> AndyMadonna, When I click any year past 1960 I don't get the alert at all-
> is request_year bringing back the correct data?
>
> On 3/19/07, andymadonna <[EMAIL PROTECTED]> wrote:
>
>
>
> > This was moved from Prototype: Core
>
> > andymadonna -me
>
> > Hi, I'm new to using Prototype. I trying to use Ajax to make an
> > interactive timeline of the 60s, but my Ajax request keeps failing.
>
> > I have it on my live site for testing:
> >http://the60s.andrewmadonna.com/timeline.html
>
> > Here is a code snippet of the actual request:
>
> >   new Ajax.Request('timeline_backend.php', {
> >   method: 'get',
> >   parameters: {action: 'year', year: request_year},
> >   onCreate: create_loader(),
> >   onFailure: alert("Oops!"),
> >   onSuccess: create_year(transport)
> >   });
>
> > --------------------------------
> > Tom Gregory
>
> > You are not passing function references to the callbacks as you
> > perhaps intend. You are instead passing the results of functions.
>
> > Modify these lines:
> > onCreate: create_loader, // No parenthesis
> > onFailure: function () {alert("Oops!");}, // anonymous function
> > onSuccess: create_year  // Again, use a function reference, not a
> > function result
> > ---------------------------------
> > andymadonna
>
> > Thanks Tom,
>
> > I modified it to what you said. But now it doesn't create the loader,
> > and I know its executing the create_year function because I put in an
> > alert to test it but it doesn't perform anything past that.
>
> > Modified:
> >   new Ajax.Request('timeline_backend.php', {
> >   method: 'get',
> >   parameters: {action: 'year', year: request_year},
> >   onCreate: create_loader,
> >   onFailure: function () {alert("Oops!");},
> >   onSuccess: create_year
> >   });
>
> > ---------------------------------------
> > Gareth Evans
>
> > What is in your create_year function?
>
> > ----------------------------------------
> > andymadonna
>
> > Hi Gareth,
>
> > The create_year function creates all the dates for that year on the
> > timeline. I have it on my live site to test the code:
> >http://the60s.andrewmadonna.com/timeline.html
>
> > Here is the actual function:
>
> >   function create_year(transport) {
> >       alert("I am being executed!");
> >       var timeline_content = document.createElement("div");
> >       timeline_content.setAttribute("id","timeline_content");
> >       var timeline = document.createElement("div");
> >       timeline.setAttribute("id","timeline");
> >       var line = document.createElement("div");
> >       line.setAttribute("id","line");
> >       var xmlDoc = transport.responseXML.documentElement;
> >       var loop_length = xmlDoc.getElementByTagName("date").length;
> >       var isBottom = false;
> >       for (var i=0;i<loop_length;i++) {
> >           var date_title = xmlDoc.getElementByTagName("date")
> > [i].childNodes[0].childNodes[0].nodeValue;
> >           var date_text =
> > document.createTextNode(xmlDoc.getElementByTagName("date")
> > [i].childNodes[1].nodeValue);
> >           var date = document.createElement("div");
> >           date.setAttribute("title",date_title);
> >           var date_line = document.createElement("div");
> >           date_line.setAttribute("class","date_line");
> >           if (!isBottom) {
> >               date.setAttribute("class","date");
> >               date.appendChild(date_text);
> >               date.appendChild(date_line);
> >               isBottom = true;
> >           } else {
> >               date.setAttribute("class","date_bottom");
> >               date.appendChild(date_line);
> >               var date_bottom_text = document.createElement("div");
>
> > date_bottom_text.setAttribute("class","date_element_text");
> >               date_bottom_text.appendChild(date_text);
> >               date.appendChild(date_bottom_text);
> >               isBottom = false;
> >           }
> >           timeline.appendChild(date);
> >       }
> >       timeline.appendChild(line);
> >       timeline_content.appendChild(timeline);
>
> >       var next_arrow = document.createElement("div");
> >       next_arrow.setAttribute("id","next");
> >       next_arrow.setAttribute("class","arrows");
> >       next_arrow.setAttribute("onclick","slide_timeline_next();");
> >       var next_arrow_text = document.createTextNode("&gt;<br /><br /
> > ><br />&gt;");
>
> >       next_arrow.appendChild(next_arrow_text);
> >       timeline_content.appendChild(next_arrow);
>
> >       var previous_arrow = document.createElement("div");
> >       previous_arrow.setAttribute("id","previous");
> >       previous_arrow.setAttribute("class","arrows");
>
> > previous_arrow.setAttribute("onclick","slide_timeline_previous();");
> >       var previous_arrow_text = document.createTextNode("&lt;<br /
> > ><br /><br />&lt;");
>
> >       previous_arrow.appendChild(previous_arrow_text);
> >       timeline_content.appendChild(previous_arrow);
>
> >       document.body.appendChild(timeline_content);
> >       $('timeline').setStyle({
> >           width: 8 * loop_length + 'em'
> >       });
>
> >   }
>
> > ----------------------------------


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Spinoffs" 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/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to