我試圖用jquery來檢查Div RED是否在視口內,如果沒有,那麼檢查Div ORANGE是否在視口中。如果只有一個IF語句,我使用的函數效果很好,但是當我添加另一個IF ELSE語句時,它將無法工作。檢查div是否在視口內使用jquery
這裏是功能:
$.fn.isOnScreen = function(){
var win = $(window);
var viewport = {
top : win.scrollTop(),
left : win.scrollLeft()
};
viewport.right = viewport.left + win.width();
viewport.bottom = viewport.top + win.height();
var bounds = this.offset();
bounds.right = bounds.left + this.outerWidth();
bounds.bottom = bounds.top + this.outerHeight();
return (!(viewport.right < bounds.left || viewport.left > bounds.right || viewport.bottom < bounds.top || viewport.top > bounds.bottom));
};
這裏是我加入到檢查,看看是否DIV紅色或DIV橙色是視
$(window).scroll(function() {
if ($('.red').isOnScreen() === true) {
$('.red').remove();
} else if ($('.orange').isOnScreen() === true) {
$('.orange').remove();
}
});
這裏中的代碼是一個jfiddle http://jsfiddle.net/wN7ah/453/
:http://jsfiddle.net/moagrius/wN7ah/ – Ani
我好了希望它檢查用戶滾動時屏幕上的哪個div,而不是用戶點擊時的div。 –
你在哪裏提到點擊功能?你正在做窗口滾動...你想點擊它嗎? – Ani