打开链接然后执行Jquery

时间:2013-12-30 14:38:40

标签: javascript jquery onclick pageload onload-event

我的页脚中有链接,我希望链接到我在网站上构建的幻灯片的特定部分 我目前通过

链接到这些部分的页脚链接
 <a href="javascript:showAndScroll(1, 1)">LINK!</a>

哪个适用于包含内容幻灯片的页面。但是,我也希望这些链接可以在其他网页上使用。我想出了下面的解决方案,在重定向到滑块的页面/锚点之后加载“showandscroll”

<a id="sem-seo" nohref title="">LINK!</a>

$("#sem-seo").click(function() {
window.location.assign("portfolio.html#anchor2");
$(window).bind("load", showAndScroll(1, 2));
});

但由于某种原因(加载页面很好并转到该部分)它只是不加载showAndScroll查询

有什么想法?我已经完成了几个小时的研究并且今天就这个问题提出了一些问题,但需要在截止日期前完成,因此需要一个解决方案。

这是一个登陆页面(我希望能够链接到其他页面的不同部分) Fiddle

1 个答案:

答案 0 :(得分:3)

您的问题是您的代码永远不会执行。

$("#sem-seo").click(function() {
//THIS LINE CAUSES A NEW PAGE TO LOAD
window.location.assign("portfolio.html#anchor2");
//THAT MEANS THIS CODE WILL NEVER BE REACHED
$(window).bind("load", showAndScroll(1, 2));
});

您需要在目标网页上应用您的代码,除了您所在的页面之外,您无法执行任何页面的javascript代码。

此外,请勿在处理程序中附加处理程序。如果有人反复点击#sem-seo,您会将多个load处理程序附加到window,这不是您想要的。

<强>更新

我认为这将解决您的问题。在您的原始页面上,将其添加到链接:

 <a id="sem-seo" href="portfolio.html#anchor2?show=true" title="">LINK!</a>

在目标网页上,添加以下脚本:

  $(function(){
       var url = window.location.href;
       if(url.indexOf('?show=true') != -1 || url.indexOf('&show=true') != -1)
            $(window).bind("load", showAndScroll(1, 2));
  });