jQuery: код работает в Firefox, но не в IE - PullRequest
0 голосов
/ 28 октября 2011

Код ниже должен синхронизировать горизонтальные полосы прокрутки двух 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 ]

1 голос
/ 28 октября 2011

Вы объявляете переменную jQuery '$' дважды. Для этих строк:

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

Вам нужно просто:

 var ifr1 = $('#UserQueue_Header').contents();
 var ifr2 = $('#UserQueue_Detail').contents();
0 голосов
/ 01 ноября 2011
<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>
...