考慮以下幾點:CSS解決方案只使用鼠標滾輪滾動當前div - 不是它背後的div。
考慮在那裏我有我的鼠標定位在場景DIV一個,我使用鼠標滾輪滾動到DIVA的底部或頂部。當我到達div A的底部並保持滾動滾動時,它將開始滾動div B。我希望鼠標滾輪只滾動光標所在的當前div。
這是可能的任何標準的CSS?或者我需要連接JS/jQuery事件來檢測我目前正在使用的div並停止滾動事件?我希望有一個CSS解決方案。
在此先感謝您的幫助!
考慮以下幾點:CSS解決方案只使用鼠標滾輪滾動當前div - 不是它背後的div。
考慮在那裏我有我的鼠標定位在場景DIV一個,我使用鼠標滾輪滾動到DIVA的底部或頂部。當我到達div A的底部並保持滾動滾動時,它將開始滾動div B。我希望鼠標滾輪只滾動光標所在的當前div。
這是可能的任何標準的CSS?或者我需要連接JS/jQuery事件來檢測我目前正在使用的div並停止滾動事件?我希望有一個CSS解決方案。
在此先感謝您的幫助!
這似乎不可能。如果有人發帖,我會很樂意接受另一個答案!
它看起來這是你所需要的:
How to programmatically disable page scrolling with jQuery
基本上鼠標懸停你會禁止設置溢出隱藏滾動的頁面的其餘部分。然後在mouseout上撤消它。
編輯:確保處理mouseout,alt + tab然後mousemove的情況。你可能需要調整它,以確保它們不會被開箱即用的鼠標滾動鎖定。
你需要這個,NO CSS解決方案:
<script>
$("#div-A").bind("mousewheel", function(e){
var intElemScrollHeight = document.getElementById("div-A").scrollHeight;
var intElemClientHeight = document.getElementById("div-A").clientHeight;
if(intElemScrollHeight - $("#div-A").scrollTop() === intElemClientHeight) {
$(document).bind("mousewheel", function(event) {
event.preventDefault();
});
}
if(e.originalEvent.wheelDelta /120 > 0) {
if($("#div-A").scrollTop() != 0) {
$(document).unbind("mousewheel");
} else {
event.preventDefault();
}
}});
$("#div-A").on("mouseleave", function(event) {
$(document).unbind("mousewheel");
});
</script>
IIRC,大多數瀏覽器在默認情況下做到這一點。 – Bojangles 2012-03-15 14:00:05