2

フロートされたdivがたくさんあり、これらの各divの位置をチェックする関数があり、divの左の位置が0の場合、クラスが追加されます。

ただし、ブラウザのサイズを変更すると、フロートdivが変更されます。たとえば、4を続けて開始し、ブラウザのサイズを小さくすると、3、2などになります。

関数をループして、divの左側の位置を継続的にチェックして0かどうかを確認できるようにしたい...現時点では機能しないようです。setIntervalとウィンドウを試しました。サイズ変更関数、これが私のコードです:

$('.box').each(function(index, item){
   if($(this).position().left == 0){
      $(this).removeClass('right');
      $(this).addClass('left');
   } else {
      $(this).removeClass('left');
      $(this).addClass('right');
   }
});
4

1 に答える 1

5

jsBinデモ(変更を確認するためにウィンドウのサイズを変更します)

function checkPositions(){    
    $('.box').each(function(){
       var myPos = $(this).position().left == 0 ?
       $(this).removeClass('right').addClass('left') :           
       $(this).removeClass('left').addClass('right') ;
    });  
}
checkPositions(); // check on DOM ready


$(window).resize(function(){  // and do it on window resize
    checkPositions();
});
于 2012-09-18T16:07:29.503 に答える