我正在使用一个生成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中进行测试

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top