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
  • 13,318
  • 32
  • 117
  • 182

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
  • 38,138
  • 7
  • 87
  • 101
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,567
  • 2
  • 23
  • 32
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
  • 27,442
  • 12
  • 81
  • 118