如何解决页面加载后如何将iframe滚动到底部?
| 我就像网上的每个问题一样,尝试了50种diff方法,首先尝试滚动div-然后当它无法正常工作时,我尝试使用div对文件进行iframe并滚动iframe。正常工作! 查看我设置的最后一个脚本:<script src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.js\"></script>
<script type=\"text/javascript\">
$(document).ready(function() {
var t = 100; //arbitrary time in ms
$(\"#frame\").animate({ scrollTop: $(\"#frame\").height()},t);
});
</script>
<center><iframe id=\"frame\" src=\"xxx.php\" frameborder=\"0\" width=\"630px\" height=\"500px\"></iframe></center>
我尝试了#frame和不带(#)的框架,都尝试了(document).ready和没有它。
该页面上似乎没有任何内容,它也无法解决问题。
谢谢。 :)
解决方法
使用jQuery时,您需要使用ѭ1来访问iframe中的所有内容。您还需要使用窗口加载事件或iframe的文档就绪事件。
$(window).load(function ()
{
var $contents = $(\'#frame\').contents();
$contents.scrollTop($contents.height());
});
演示:http://jsbin.com/ujuci5/2
我建议您回到您提到的div结构,因为听起来您要执行的操作不需要iframe。您会发现,与div相比,使用div比使用iframe麻烦得多。
$(function ()
{
var $mydiv = $(\'#mydiv\');
$mydiv.scrollTop($mydiv.height());
});
演示:http://jsbin.com/ujusa4/2
页面加载后3秒钟如何启动滚动功能?
使用setTimeout
。
$(window).load(function ()
{
setTimeout(function ()
{
var $contents = $(\'#frame\').contents();
$contents.scrollTop($contents.height());
},3000); // ms = 3 sec
});
, 如果您可以访问iframe内容的源代码,一个简单的技巧就是添加&nbsp; (或内容的最后一行)(不确定是否确实需要标记中的任何内容)。
将#end添加到iframe来源,例如
http://www.yourdomain.com/file.php#end
它将自动滚动到末尾,无需javascript / jquery
, 如果当前文档已准备就绪,则意味着DOM已准备就绪,但是iframe内部的文档也必须加载。
<script type=\"text/javascript\">
$(document).ready(function() {
$(\"#frame\").load(function(){this.contentWindow.scrollBy(0,100000)});
});
</script>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。