我的父页面中有一个非常长的iframe。当您重新加载或单击i框架页面内的链接时,它会被加载到其中,但是纯粹的窗口必须向上滚动。
我尝试了variuos代码示例:jquery which event is better thatn this和 How to scroll parent page with iFrame reload 父页面正文代码:
<script language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(document).ready(function() {
$('iframe').load(function(){
$(window).scrollTop(0);
});
});</script>
<iframe frameborder="0" height="1000" id="iframe" src="http://mysite.com" width="800"></iframe>
现在这是我在父页面中的最终代码:(这不起作用)
<script type="text/javascript">
$('iframe').ready(function(){
$(window).scrollTop(0);
});
</script>
<iframe frameborder="0" height="1000" id="iframe" align="top" src="http://foicam.altervista.org/listadinamica.php" width="800" ></iframe>
但问题是每个代码在帧完全加载(图像包括)之后向上滚动父页面。我想要的是父页面在iframe完成加载之前向上滚动。
如果您点击最后一张图片或向下滚动页面,然后只重新加载iframe,您就会明白我的意思!
Thanx很多,很抱歉,但我发现这个语言存在于今天下午!
答案 0 :(得分:12)
将您的代码更改为:
<iframe frameborder="0" height="1000" id="iframe" align="top" src="http://foicam.altervista.org/listadinamica.php" width="800" ></iframe>
<script type="text/javascript">
$('iframe').ready(function(){
$(window).scrollTop(0);
});
</script>
在iframe成为DOM的一部分之前,您的脚本正在调用。如果你的iframe是你的DOM的一部分后你的脚本,它将识别它,$('iframe')
将实际找到该对象。
答案 1 :(得分:3)
脚本出现在源代码中的iframe之前,并且没有任何延迟执行的内容(例如在onready
中调用)。
因此,当它执行时,iframe尚未添加到DOM,并且选择器找不到该帧。事件处理程序仅绑定到源中之前的任何iframe。