我不能让鼠标出去工作

时间:2013-04-19 21:56:06

标签: javascript jquery

所以我有这个功能,以防止侧边栏悬停时身体滚动。 问题是,我无法使mouseout功能正常工作。

var currentScroll=0;
function lockscroll(){
    $(window).scrollTop(currentScroll);
}


$(document).ready(function (){

        $(".sidebarholder, .commentswrapper").hover(function (){
            currentScroll=$(window).scrollTop();
            $(window).bind('scroll',lockscroll);

        })  



})

我的问题是,如何在鼠标移开时取消绑定?

如果我这样做,它就会完全停止工作。

    $(".sidebarholder, .commentswrapper").mouseout(function(){
        currentScroll=$(window).scrollTop();
        $(window).unbind('scroll');

    })

2 个答案:

答案 0 :(得分:3)

jQuery的hover()已内置“悬停”,这可能会有所帮助:

   $(".sidebarholder, .commentswrapper").hover(
     function (){ // hover over
       currentScroll=$(window).scrollTop();
       $(window).bind('scroll',lockscroll);
     },
     function (){ // hover off
       currentScroll=$(window).scrollTop();
       $(window).unbind('scroll',lockscroll);
     }
   )

http://api.jquery.com/hover/

答案 1 :(得分:0)

你试过吗

     $(document).ready(function () {
        $(".sidebarholder, .commentswrapper").hover(function () {
           currentScroll = $(window).scrollTop();
           $(window).bind('scroll', lockscroll);

        }, function () {
           currentScroll = $(window).scrollTop();
           $(window).unbind('scroll');

        })
     })