jQuery:代码在 Firefox 中有效,但在 IE 中无效
Posted
技术标签:
【中文标题】jQuery:代码在 Firefox 中有效,但在 IE 中无效【英文标题】:jQuery: Code works in Firefox but not in IE 【发布时间】:2011-12-17 12:39:54 【问题描述】:下面的代码应该同步两个 iFrame 的水平滚动条。 它适用于 Firefox,但不适用于 IE。 在 IE 中,没有进入 ifr1.scroll() 函数。
<SCRIPT>
$(window).load( function()
var ifr1 = $( $('#UserQueue_Header').contents() );
var ifr2 = $( $('#UserQueue_Detail').contents() );
ifr1.scroll( function()
ifr2.scrollLeft(ifr1.scrollLeft());
);
ifr2.scroll( function()
ifr1.scrollLeft(ifr2.scrollLeft());
);
);
</SCRIPT>
<iframe src="test.html" id="UserQueue_Header"></iframe>
<iframe src="test.html" id="UserQueue_Detail"></iframe>
【问题讨论】:
-1。什么不起作用?你试过什么?你有任何错误吗?请不要只发布代码。 “代码在 Firefox 中有效,但在 IE 中无效”——通常是这种情况 @swatkins,但这种情况除外。我很惊讶它完全有效。 从代码示例中可以清楚地看到他所说的“不起作用”是什么意思。该代码只做两件事,而且它们几乎完全相同。 为什么不用 $(document).ready() 而不是 window.load 【参考方案1】:您声明了 jQuery '$' 变量两次。对于这些行:
var ifr1 = $( $('#UserQueue_Header').contents() );
var ifr2 = $( $('#UserQueue_Detail').contents() );
你只需要:
var ifr1 = $('#UserQueue_Header').contents();
var ifr2 = $('#UserQueue_Detail').contents();
【讨论】:
不,这样 OP 就不必稍后在代码中执行 $(ifr1) 和 $(irf2)。 IE的问题是没有进入ifr1.scroll()函数。【参考方案2】:<SCRIPT language="javascript" type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></SCRIPT>
$(window).load( function()
var ifr1 = $(window.frames[0]);
var ifr2 = $(window.frames[1]);
ifr1.scroll( function()
ifr2.scrollLeft(ifr1.scrollLeft());
);
ifr2.scroll( function()
ifr1.scrollLeft(ifr2.scrollLeft());
);
);
<frameset>
<frame src="test.html"/>
<frame src="test.html"/>
</frameset>
【讨论】:
以上是关于jQuery:代码在 Firefox 中有效,但在 IE 中无效的主要内容,如果未能解决你的问题,请参考以下文章
Chrome 上的 Jquery Form.submit() 有效,但在 Firefox 中无效
jquery cycle.js 分页器图形在 Safari、Firefox、Chrome 和 Opera 中工作,但在 IE 中消失
new Date() 在 Chrome 中有效,但在 Firefox 中无效
以下 JavaScript 似乎在 Firefox 中有效,但在 Chrome 中无效?