2013-01-18 62 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 
    });