JS-jQuery:jScrollPane如何定位stopDrag事件?

时间:2012-06-15 10:03:51

标签: jquery jscrollpane drag

我正在使用Kevin Luck的jScrollPane jQuery插件: Styling Scrollbar to Look Like Facebook ScrollableArea Using jScrollPane

这样我就可以获得与FB相同的效果。一切正常,但是当我拖动手柄并且我移出窗格时,滚动条会消失。

问题出在mouseleave事件中,应该在离开时隐藏句柄...

$('.jspDrag').hide();
$('.jspScrollable').mouseenter(function(){
    $(this).find('.jspDrag').stop(true, true).fadeIn('slow');
});
$('.jspScrollable').mouseleave(function(){
    $(this).find('.jspDrag').stop(true, true).fadeOut('slow');
});

所以我这样做了:

$('.jspScrollable').mouseleave(function(){
    var $el = $(this).find('.jspDrag');
    if($el.hasClass('jspActive')) return;
    $el.stop(true, true).fadeOut('slow');
});

这会阻止手柄在拖动时隐藏,问题是,在我停止拖动后它不会消失......

如何定位句柄的stopDrag事件?

1 个答案:

答案 0 :(得分:0)

好的,我自己做了..我不知道这是不是最好的解决方案,但它有效

$('.jspScrollable').mouseleave(function(){
    var $el = $(this).find('.jspDrag');
    $('html').bind('mouseup.jsp', function(){
        $el.hide();
    });
    if($el.hasClass('jspActive')) return;
    $el.stop(true, true).fadeOut('slow');
});