Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Executing JQuery after page load only after clicking a specific link

I have a link in my app that when clicked, leads to another page. I want to execute some JQuery on this new page after it loads, but only if that specific link is clicked to get to the page.

I have this JQuery:

    $('#new_to_topics').click(function(){
        $(document).ready(function() {
            $('#topic_guidelines').slideDown('normal');
            $('#topic_guidelines').addClass('on');
        });
    });

where #new_to_topics is the id of the link that leads to the new page and

$('#topic_guidelines').slideDown('normal');
$('#topic_guidelines').addClass('on');

is the JQuery code I want to execute on that new page. However, this does not work. How should I do this?

like image 355
Justin Meltzer Avatar asked Jun 09 '11 16:06

Justin Meltzer


2 Answers

You could pass a location hash to the new page, and then conditionally run some javascript based on that hash.

If my link was to mynewpage.html#fromXlink (this would show in the address bar)

My javascript on mynewpage.html could be:

$(document).ready(function() {
  if (location.hash == '#fromXlink') {
    $('#topic_guidelines').slideDown('normal');
    $('#topic_guidelines').addClass('on');
  }
});
like image 111
Fosco Avatar answered Oct 02 '22 11:10

Fosco


You could add a variable to the query string i.e. somepage.aspx?fromthislink=true and then pick that up in jquery.

This shows how

If it cam from that link then fire off your jquery.

like image 24
Richard Forrest Avatar answered Oct 02 '22 11:10

Richard Forrest