简体   繁体   中英

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?

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');
  }
});

You could add a variable to the query string ie 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.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM