2013-01-18 60 views
0

这是我的脚本,加载到加载到父页面的iFrame中。iFrame jQuery - 在加载新iFrame内容的同时滚动到iFrame顶部

问题: 我想这对他们在iFrame中指定 内容点击,并在同一时间有变化的iFrame网页内容每次滚动的iframe的顶部。

(实例我点击的iFrame一个提交按钮加载在iFrame中新的内容。同时父页面滚动到iFrame的顶部)

我已经给内嵌框架“的iFrame”的ID 。当我点击名为'imageField'的iFrame中的元素时,它将提交表单并在iframe中加载新内容。但我也希望它在iframe加载的主页面上滚动到iFame的顶部。

原因是因为一些内容较大,当他们从iFrame中较大的内容中提交并且它转到较小的内容时,它看起来像屏幕是空白的,因为他们必须滚动完成主页才能看到内容。所以我想要托管iFrame的主页在新的iFrame内容加载时滚动到iFrame的顶部。

这里是的IFRAME代码:

<script> 
    $(document).ready(function(){ 

     $("#imageField").click(function(){ 

       $('html, body').animate(
        { 
        scrollTop: $("#iFrame").offset().top 
        }, 2000); 

     }); 
    }); 
</script> 

我的iFrame代码:

<iframe src="questions/questions.php" name="inlineframe" width="550" 
marginwidth="5" height="1500" marginheight="5" scrolling="auto" 
frameborder="0" id="iFrame" ></iframe> 
+0

我很接近,我想。 jQuery能够控制iFrame和其他div内容,但不能控制主页面的滚动。你的建议是什么意思? –

+0

我想我找到了解决办法。现在我只需要知道如何在iframe的jQuery主页上调用jQuery函数。 –

回答

0

试试这个:

在主页上,放置一个javascript函数:

// This is main page 
<script type="text/javascript">   
    function scrollFrame(position) { 
     position += $('#myFrameID').offset().top; 
     $('body').animate({ scrollTop: position }, 1000); 
    } 
</script> 

在里面的iframe的子页面,javascript的改变

$("#imageField").click(function() { 
     if (window != window.top) // the page is inside iframe 
      window.top.scrollFrame(0); // change the position if any. 0 is top 
    });