0

そのため、サイドバーがホバーされたときに本文がスクロールしないようにするこの機能があります。問題は、マウスアウト機能が正しく動作しないことです。

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');

    })
4

2 に答える 2

3

jQueryhover()には「ホバーオフ」が組み込まれているため、役立つ場合があります。

   $(".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/

于 2013-04-19T21:58:36.407 に答える
0

やってみました

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

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

        })
     })
于 2013-04-19T22:00:46.560 に答える