所以当前点击按钮我会弹出一个新窗口进入某个网站。但是我不仅需要弹出这个新网站,而且还需要在弹出的屏幕上向下滚动一点。以下是我目前正在做的事情:
$(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);
});
});
这会成功打开窗口,但如何修改将滚动到网站中特定位置的更改。
答案 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窗口。