如何在页面加载时将iframe滚动到底部?
我就像在网上的每一个问题,尝试像50差异方法,首先我试图滚动div – 然后当它没有工作,我试图iframe文件与div并滚动iframe ..没有什么只是作品!
看看我设置的最后一个脚本:
$(document).ready(function() { var t = 100; //arbitrary time in ms $("#frame").animate({ scrollTop: $("#frame").height()}, t); });
我尝试了没有(#)的#frame和frame,两者都是(document).ready而没有它。 似乎没有什么东西在页面上工作,它驱使我疯狂。
谢谢。 🙂
使用jQuery,您需要使用.contents()
来访问iframe中的任何内容。 您还需要使用窗口加载事件或iframe的文档就绪事件。
$(window).load(function () { var $contents = $('#frame').contents(); $contents.scrollTop($contents.height()); });
演示: http : //jsbin.com/ujuci5/2
我建议回到你提到的div结构,因为它听起来像你想要做的不需要iframe。 你会发现使用div比使用iframe要少得多。
$(function () { var $mydiv = $('#mydiv'); $mydiv.scrollTop($mydiv.height()); });
演示: http : //jsbin.com/ujusa4/2
如何在页面加载后3秒启动滚动function?
使用setTimeout
。
$(window).load(function () { setTimeout(function () { var $contents = $('#frame').contents(); $contents.scrollTop($contents.height()); }, 3000); // ms = 3 sec });
如果您可以访问iframe内容的源代码,一个简单的方法是添加  (或您内容的最后一行)(不确定您是否真的需要标签中的任何内容)。
将#end添加到iframe源,例如
http://www.yourdomain.com/file.php#end
它会自动滚动到最后,不需要javascript / jquery
如果当前文档已准备就绪,这意味着DOM已准备就绪,但iframe中的文档也必须加载。