移动鼠标或滚轮时停止滚动

时间:2014-03-25 15:22:45

标签: jquery scroll

我遇到了问题,我正在使用两种类型的滚动(向下和向上)

如何防止卷轴之间的冲突?

 $('form#slider img.img').click(function () {

            var index = $(this).prevAll('img').length; 
            $('div#immagini img').attr('src', imgArray[index]);
            show(0);


            //animation sroll down
            $("html, body").animate({
                scrollTop: $('html, body').delay(200).get(0).scrollHeight
            }, 2000);

所以我的身体下垂了;

当我点击该功能时:

    switch (index) {

                    case 0:
                        //load image from array
                        $('div#immagini img').attr('src', imgArray[0]);

                        $("#ris3").click(function () {
                              //scroll top
                            $('html, body').delay(400).animate({ scrollTop: '0px' }, 2000);

                        });

                        $("#ris1").click(function () {
                               //scroll top
                            $('html, body').delay(400).animate({ scrollTop: '0px' }, 2000);
                            $('div#immagini img').attr('src', errArray[0]);
                        });

                        $("#ris2").click(function () {
                             //scroll top
                            $('html, body').delay(400).animate({ scrollTop: '0px' }, 2000);
                            $('div#immagini img').attr('src', errArray[0]);
                        });

                        $('html,body').scroll(function () {
                            $(this).stop(true, false);
                        });    

                        break;

非常感谢

1 个答案:

答案 0 :(得分:0)

您可以使用

阻止鼠标滚轮使用
jQuery(window).bind('mousewheel', function (event) {
    event.preventDefault();
})

这是一个小提琴http://jsfiddle.net/hSjK6/

然后,只有在发生某事时才停止滚动,您可以使用布尔值,例如

if(scroll)
{
scroll = false;
$('html, body').delay(400).animate({ scrollTop: '0px' }, 2000,function(){scroll = true});
}

希望这个帮助