2015-11-15 84 views
2

我想要檢測哪個div離屏幕中心最近,而水平滾動。一旦檢測到,我想要做一些事情,比如觸發事件。當滾動jquery時檢測離中心屏幕最近的div

enter image description here

var screenW = ($(window).width() /2); 

$('div.fistSlider').bind('mousemove', function(e){ 
    var xN = e.pageX + 16; 
    $('div#divContainer').scrollLeft(xN); 
}); 

當最接近紅線(屏幕中心)的股利,應該做一些大事。

+1

我清理了這個問題,通過內聯你的圖像並對其進行了一些改寫。但是,你可以發佈你已經試過的東西,以便人們可以評論它嗎?一般來說,沒有顯示你已經嘗試過的問題不會收集許多積極的迴應。 –

+0

您是指屏幕的中心還是包含元素的中心?這大大改變了可能的解決方屏幕的計算中心更難。你還假設所有div都水平平鋪?或者你想要所有像素數最多的div穿過中線?如果沒有div跨過中心線怎麼辦?這需要更多的細節。這裏最簡單的事情就是TDD,並向我們展示你希望它通過的測試。 –

+0

對不起,我編輯它 –

回答

1

這裏的答案是檢查每個div的偏移量。

$(document).scroll(function(){ 
    $('div').each(function(){ 
     var centerLine = $(window).width()/2; 
     var divStart = $(this).offset().left; 
     var divEnd = divStart + $(this).width(); 
     if(divStart < centerLine && divEnd > centerLine){ 
      //do the thing 
     } else { 
      //undo the thing 
     }; 
    }); 
}); 
+0

感謝兄弟它的工作+1 –