如何使用jQuery从内部滚动iframe?
-
30-09-2019 - |
题
我正在使用一个生成iframe的影子盒在页面上显示产品详细信息。由于详细信息页面可能很长,因此客户端想要一个“更多”按钮将页面向下滚动(显然是iframe右侧的滚动条还不够)。
这是我尝试的代码以使iframe滚动:
$(document).ready(function()
{
$(".moreButton img").click(function() {
scrollbottom();
});
});
function scrollbottom() {
var x = 250; // this number is a temporary placeholder
var t = 500;
$("iframe").animate({ scrollTop: x }, t);
}
我还尝试使用身体而不是iframe,但无济于事。有任何想法吗?谢谢!
解决方案 2
这最终工作:
$('html,body').animate({ scrollTop: x }, t);
其他提示
这样:(测试)
$("iframe").contents().children().animate({ scrollTop: x }, t);
在Chrome中,我必须专门选择身体元素:
$('#my-iframe').contents().find('body').animate({scrollTop:90},500);
在父母的JavaScript中创建一个函数:
function scrollToPoint(top) {
$("html, body").animate({ scrollTop: top }, "slow")
}
并在这样的iframe中调用该功能:
window.parent.scrollToPoint(top);
它应该在Chrome中起作用,尚未在Firefox中进行测试
不隶属于 StackOverflow