1

私が欲しいのは、マウスがdivをポイントすると、ページのスクロールバーがスクロールしないことです。これは不可能ですか?これを行うと、ページのスクロール バーが常にスクロールします。以下は JavaScript コードの一部です。

if(document.addEventListener){
    document.addEventListener('DOMMouseScroll',scrollFunc,false);
}
window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome/Safari

どうやってするか?

4

2 に答える 2

4

どうぞ:

var noscroll = document.getElementById('noscroll');

var locked, lockedX, lockedY;
noscroll.addEventListener('mouseover', function (){
    locked = true;
    lockedX = window.scrollX;
    lockedY = window.scrollY;
}, false);
noscroll.addEventListener('mouseout', function (){
    locked = false;
}, false);

window.addEventListener('scroll', function (e){
    if(locked === true){
        window.scrollTo(lockedX, lockedY);
        e.preventDefault();
    }
}, false);

noscrollスクロールを許可しない要素に変数を変更します。

デモ

于 2012-12-27T09:23:50.523 に答える
0

基本的に、div にwidthheightおよびプロパティを指定することにより、css を介してそれを実現できます。overflow

<div style="width:100px; height:100px; overflow: auto;" >
    text text text text text text text text text
    text text text text text text text text text
    text text text text text text text text text
    text text text text text text text text text
    text text text text text text text text text
    text text text text text text text text text
    text text text text text text text text text
    text text text text text text text text text
</div>
于 2012-12-27T08:59:24.050 に答える