jQuery:代码适用于Firefox,但不适用于IE

时间:2011-10-28 18:55:39

标签: javascript jquery internet-explorer firefox cross-browser

下面的代码应该同步两个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>

2 个答案:

答案 0 :(得分:1)

你要两次声明jQuery'$'变量。对于这些行:

 var ifr1 = $( $('#UserQueue_Header').contents() );
 var ifr2 = $( $('#UserQueue_Detail').contents() );

您只需要:

 var ifr1 = $('#UserQueue_Header').contents();
 var ifr2 = $('#UserQueue_Detail').contents();

答案 1 :(得分:0)

<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>