【问题标题】:How to fadeout on mouseout, when mouse is clicked and dragged and then out?当鼠标单击并拖动然后退出时,如何在鼠标退出时淡出?
【发布时间】:2012-02-22 05:40:27
【问题描述】:

当用户鼠标进入或离开可滚动区域时,我正在使用 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();
         }
     }
);

And here's a link if it will help...

提前感谢您的任何反馈!

【问题讨论】:

    标签: jquery drag mouseout mouseleave mouseup


    【解决方案1】:

    在检查 mouseStillDown == false 之前,您可以在 mouseleave 上设置 mouseStillDown = false;。 你可以试试这个。请提供反馈。

    【讨论】:

    • 谢谢@Soumalya!这确实解决了问题,但产生了另一个问题。现在,当您滚动时,即单击鼠标并拖动手柄,如果您将鼠标移出该区域,则滚动条会淡出。理想情况下,当用户滚动时,我根本不希望它消失。 Check link and you will see the update
    • 好的哥们,抱歉迟到了。你能再提供一下链接吗?因为它正在寻找用户名和密码。
    • 不用担心。该网站现在位于 www.indoorplaymagazine.co.uk/Directory/ 这不是一个大问题,但会很好地解决它。干杯!
    • 现在,添加if(mouseStillDown == true) return;,就在创建mouseStillDown = false;之前。希望这会有所帮助。
    • 恐怕运气不好。这基本上使它发挥了我最初拥有的功能。如果您不将鼠标移回滚动条,它会中断。
    猜你喜欢
    • 1970-01-01
    • 2014-11-09
    • 1970-01-01
    • 2011-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多