Javascript 如何让IFRAME侦听与父级相同的事件并触发事件
我在同一个域中定义了两个iframe。我们要做的是,当我滚动id=i1的iframe时,id=i2的iframe应该自动滚动。如何使用javascript实现这一点?您的问题在本文中得到了回答: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
只需收听滚动事件而不是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);
}