弹出一个新窗口后滚动顶部。 - Jquery

时间:2017-06-30 18:39:27

标签: javascript jquery html

所以当前点击按钮我会弹出一个新窗口进入某个网站。但是我不仅需要弹出这个新网站,而且还需要在弹出的屏幕上向下滚动一点。以下是我目前正在做的事情:

$(document).ready(function () {
  $('.popup').click(function(event) {
    event.preventDefault();
    window.open("https://www.spmet.aspx", "popupWindow", "width=1400,height=600,scrollbars=yes");
    setTimeout(function() { scrollTo(0,150) }, 1000);
  });
});

这会成功打开窗口,但如何修改将滚动到网站中特定位置的更改。

3 个答案:

答案 0 :(得分:0)

因为您打开一个新窗口,所以第二次加载了js并且没有执行click事件。你可以使用类似的东西:

$(document).ready(function () {
    if (window.location.href.indexOf("my_url") > -1) {
       $('html,body').animate({ scrollTop: "0px" }); // or 150px
    }
});

或者为setTimeout使用一些全局变量,并在执行后将其中断。

答案 1 :(得分:0)

您的代码在父窗口中运行,而不是在弹出窗口中运行。如果你不能在弹出目标中输入int,请尝试通过引用滚动添加“#btnLogin_div”顶部的URL如下:

$(document).ready(function () {
 $('.popup').click(function(event) {
   event.preventDefault();
window.open
("https://www.spmet.aspx", 
 "popupWindow", "width=1400,height=600,scrollbars=yes");
    setTimeout(function() { scrollTo(0,150) }, 1000);
  });
 });

答案 2 :(得分:0)

因为你正在打开一个新窗口;您的旧页面上的js未使用;您必须在要加载的新页面上添加滚动js。这是一个很好的原因,否则我可以让你去一个页面和幻影点击的东西,这不会是好的。

您可以通过在iframe中打开页面来绕过它;您可以在其中滚动iframe窗口。