2012-03-26 127 views
1

我在第1頁(一個aspx頁面)上有一個小的javascript/jquery腳本,用於滾動一個加載了page2的iframe,以便它在頁面上與您保持一致, down page1。但是,當我在另一個父頁面的iframe中加載page1時,滾動效果不起作用。從jquery iframe中的子窗口訪問父窗口滾動事件

我已經嘗試在調用中使用window.parent,但腳本仍然不會激活並且滾動頁面2 iframe,因爲您在父頁面(另一個aspx頁面)的iframe內滾動page1。我希望這是有道理的。

這裏是我試過的腳本:

<script type="text/javascript"> 
     $(window.parent.document).ready(function() { 
      var $scrollingDiv = $("#IframeDir"); 

      $(window.parent).scroll(function() { 
       $scrollingDiv 
       .stop() 
       .animate({ "marginTop": ($(window.parent).scrollTop() + -10) + "px" }, "slow"); 

      }); 
     }); 


    </script> 

如果我只是在自己的標籤或窗口中加載第1頁它的工作原理,但如果我在iframe中加載第1頁到父頁面,這不是」似乎看不到父頁面的滾動事件。

在此先感謝您的任何建議! Erin

+0

有什麼,我需要在父頁面上有這個工作? – Erin 2012-03-26 14:14:13

回答

0

我不認爲你可以從$(document).ready()或在這種情況下$(window.parent.document).ready()呼叫$(window.parent).scroll()。對於這個問題,我不認爲$(window.parent).scroll()會在所有的工作,我認爲它需要$(parent.window).scroll()

這是我怎麼做之前:

$(document).ready(function() { 
//document ready functions go here 
}); 

$(parent.window).scroll(function() { 
//parent document scroll functions go here 
}); 

並回答您的其他問題,我做相信你需要在父頁面上使用jQuery以及這個工作。

2

看到這個答案Run JQuery in the context of another frame

你必須在上下文傳遞到(父文檔)搜索在

// Untested 
$(window.parent.document, window.parent.document).ready(function() { 
    var $scrollingDiv = $("#IframeDir"); 

    $(window.parent, window.parent.document).scroll(function() { 
     $scrollingDiv 
     .stop() 
     .animate({ "marginTop": ($(window.parent, window.parent.document).scrollTop() + -10) + "px" }, "slow"); 

    }); 
}); 
1

我也想iframe中的浮動DIV和Rantul該代碼爲我工作!

$(parent.window).scroll(function() { 
    //parent document scroll functions go here 
});