Jquery 如何在页面加载时将iframe滚动到底部?

Jquery 如何在页面加载时将iframe滚动到底部?,jquery,iframe,Jquery,Iframe,我在网上的每一个问题上都是这样的,尝试了50种不同的方法,首先我尝试滚动div,然后当它不起作用时,我尝试用div对文件进行iframe并滚动iframe。。什么都不管用 查看我设置的最后一个脚本: <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.js"></script> <script type="text/javascript"> $(document).ready(

我在网上的每一个问题上都是这样的,尝试了50种不同的方法,首先我尝试滚动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>

$(文档).ready(函数(){
var t=100;//以毫秒为单位的任意时间
$(“#frame”).animate({scrollTop:$(“#frame”).height()},t);
});
我尝试了两个框架和没有(#)的框架,都有(文档)。准备好了,没有。 页面上似乎没有任何内容,这让我发疯


谢谢。:)

使用jQuery,您需要使用它来访问iframe中的任何内容。您还需要使用窗口加载事件或iframe的documentready事件

$(window).load(function ()
{
    var $contents = $('#frame').contents();
    $contents.scrollTop($contents.height());
});
演示:


我建议回到您提到的div结构,因为它听起来好像您尝试做的事情不需要iframe。你会发现使用div比使用iframe更省心

$(function ()
{
  var $mydiv = $('#mydiv');
  $mydiv.scrollTop($mydiv.height());
});
演示:


如何在页面加载3秒钟后启动滚动功能

使用


如果当前文档已准备就绪,这意味着DOM已准备就绪,但iframe中的文档也必须加载

<script type="text/javascript">
$(document).ready(function() {
  $("#frame").load(function(){this.contentWindow.scrollBy(0,100000)});
});
</script>

$(文档).ready(函数(){
$(“#frame”).load(函数(){this.contentWindow.scrollBy(0100000)});
});

如果您可以访问iframe内容的源代码,一个简单的技巧是添加一个(或内容的最后一行)(不确定是否确实需要标记中的任何内容)

将#end添加到iframe源,例如

http://www.yourdomain.com/file.php#end

它会自动滚动到最后,不需要javascript/jquery

iframe是否与其父项在同一域中?iframe工作,滚动到底部不工作。这是一个jQuery问题,不是HTML问题:)(是的,它在同一个域中)。谢谢,但似乎我只需要在1-2秒后运行该函数,因为有一个shout框,它需要1-2秒才能加载,所以它基本上会下降,然后shoutbox加载,然后再次上升,有什么建议吗?你在使用什么shoutbox?理想情况下,您可以将回调传递给shoutbox,它在shoutbox加载后运行。Yshout 5。(新YShout)嗯,我找不到YShout的任何实际API文档。如果有一个选项,设置代码将类似于
newyshout({…onLoad:function(){…},},})
这个shoutbox非常不稳定,所以我最好用iframe来实现这个想法,那么我怎样才能在页面加载3秒后启动滚动功能呢?谢谢,这正是我在给Matt Ball的评论中问到的问题,不过就像我说的,有一个shoutbox在加载1-2秒后才启动,不管怎样,你的代码也不起作用\因此,请查看YShout文档,并搜索是否有可能在加载shoutbox时使用回调函数。如果是,请调用
window.scrollBy(0100000)
这是一个很好的解决方案,但我认为它可以是具有属性
id=“end”
http://www.yourdomain.com/file.php#end