Javascript 如何让IFRAME侦听与父级相同的事件并触发事件

Javascript 如何让IFRAME侦听与父级相同的事件并触发事件,javascript,iframe,Javascript,Iframe,我在同一个域中定义了两个iframe。我们要做的是,当我滚动id=i1的iframe时,id=i2的iframe应该自动滚动。如何使用javascript实现这一点?您的问题在本文中得到了回答: 只需收听滚动事件而不是mousemove。要解决您的问题,请查找下面的代码 <body> <table border="1" width="100%" height="100%"> <tr> <th><iframe id="i1" wi

我在同一个域中定义了两个iframe。我们要做的是,当我滚动id=i1的iframe时,id=i2的iframe应该自动滚动。如何使用javascript实现这一点?

您的问题在本文中得到了回答:


只需收听滚动事件而不是mousemove。

要解决您的问题,请查找下面的代码

<body>

<table border="1" width="100%" height="100%">
  <tr>
    <th><iframe id="i1" width="100%" height="100%"src="/wordpress"></iframe></th>
    <th><iframe id="i2" width="100%" height="100%"src="/wordpress"></iframe></th>
  </tr>
</table>

</body>
您可以执行它,并使用此链接直接测试它


希望这对你有帮助。如果你收到的任何答复都是你认为有效的,请考虑将你的问题标记为“答案”。
function getFrameTargetElement(oI)
{  /* get target document element based on provided frame element */

    var lF = oI.contentWindow;
    if(window.pageYOffset==undefined)
    {
        //IE    
        lF= (lF.document.documentElement) ? lF.document.documentElement : lF=document.body; 
    }
    //- return computed value
    return lF;
}

//- get frame target elements 
var oE1 = getFrameTargetElement( document.getElementById("i1") );
var oE2 = getFrameTargetElement( document.getElementById("i2") );

//- on source scroll
oE1.onscroll = function (e) {
   var scrollTopValue;
   var scrollLeftValue;

   //- evaluate scroll values
   if(window.pageYOffset!=undefined)
    { //opera, firefox,& gecko browsers
        scrollTopValue = oE1.pageYOffset;
        scrollLeftValue = oE1.pageXOffset;
    }
    else
    {
        scrollTopValue = oE1.scrollTop;
        scrollLeftValue = oE1.scrollLeft;
    }   

    //- mimic scroll
    oE2.scrollTo( scrollLeftValue, scrollTopValue); 
}