3

ユーザーがスクロール可能な領域にマウスを入力またはマウスを残したときに、jQueryを使用してtinyScrollBarをフェードインおよびフェードアウトしています。

私が抱えている問題は、ユーザーがスクロールバーハンドルをクリックしてドラッグし、スクロールバーハンドル以外の場所でマウスを離すと、壊れてフェードインまたはフェードアウトしなくなることです。

これが私の試みたコードです...

$('#scrollbar1').tinyscrollbar({ size: 790, sizethumb: 100, wheel: 20, scroll: true });
$('.scrollbar').hide();

var mouseStillDown = false;

$('.thumb').mousedown(function() {
    mouseStillDown = true;
    console.log(mouseStillDown);
});

$('.thumb').mouseup(function() {
    mouseStillDown = false;
    console.log(mouseStillDown);
});


$('.viewport').mouseenter(
     function(){ 
         $('.scrollbar').fadeIn();
     }
);

 $('.viewport').mouseleave(
     function(){
         if (mouseStillDown == false) {
             $('.scrollbar').fadeOut();
         }
     }
);

それが役立つ場合は、ここにリンクがあります...

フィードバックをお寄せいただきありがとうございます。

4

1 に答える 1

0

mouseStillDown = false;かどうかを確認する前に、mouseleave で設定できますmouseStillDown == false。これを試すことができます。フィードバックをお願いします。

于 2012-01-30T12:34:11.253 に答える