6

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?

Justin Meltzer
  • 12,978
  • 32
  • 114
  • 178

3 Answers3

6

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');
  }
});
Fosco
  • 37,365
  • 6
  • 84
  • 100
1

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.

Community
  • 1
  • 1
Richard Forrest
  • 3,458
  • 2
  • 20
  • 31
0

You can use window.name to pass data to the target page (although I would prefer passing data in the hash, if possible).

Tgr
  • 26,444
  • 11
  • 80
  • 113