0

我正在尝试创建一个 jquery 句柄,当您滑动它时,它会在容器内移动另一个 div。以下是我的js

function handleSliderChange(e, ui)
{
    console.log('1');
    var maxScroll = $(".content-item").width()*$(".content-item").length - $("#content-scroll").width();
    $("#content-scroll").animate({scrollLeft: ui.value * (maxScroll / 100) },1000);
}

function handleSliderSlide(e, ui)
{
    console.log('2');
    var maxScroll = $(".content-item").width()*$(".content-item").length - $("#content-scroll").width();
    $("#content-scroll").animate({scrollLeft: ui.value * (maxScroll / 100) }, 10);
}

    $("#content-slider").slider({
        animate: true,
        slide: handleSliderSlide,
        change: handleSliderChange
    });

因此,当我单击该栏时,会同时调用 handleSliderChange 和 handleSliderSlide,但是当我拖动滑块时,任何解决方案都可以正常工作吗?我不介意从滑块取消点击功能我只需要拖动

4

1 回答 1

0

我找到了解决方案,诀窍是在运行方法之前检查触发了哪种类型的事件。我就是这样做的

sliderBar.slider({
                start: checkType,
                animate: options.animateSpeed,
                slide: handleSliderSlide,
                step: options.step,
                change: handleSliderChange,
                });

function checkType(e){
            _isSlide = $(e.originalEvent.target).hasClass("ui-slider-handle");
        }
于 2013-03-05T08:31:45.303 回答