Mootools Slider插件功能

时间:2009-08-28 00:18:15

标签: javascript mootools slider

我正在使用mootools为Youtube chromeless播放器创建一个CSS皮肤,使用javascript API来控制播放。不幸的是我无法发布代码。我的问题是更普遍的问题。当使用滑块插件时,调用mySlider.set(步骤)将旋钮移动到滑块上的正确步骤,但它会触发所有插件事件函数(onChange,onTick,onComplete)。问题是,如何知道滑块旋钮位置是由用户更改还是调用set()函数?我原本以为只有鼠标释放旋钮时会保留一个功能,如果只是在代码中设置了位置则不会被调用。我有代码根据视频播放持续时间的位置更新旋钮位置。我需要能够将旋钮移动到代码中的当前位置,而不用认为用户放开旋钮。

为了简化问题,有没有办法在代码中设置滑块上的旋钮位置而不触发用户交互时使用的功能?

您可以在http://mootools.net/docs/more/Drag/Slider

找到Slider插件参考

由于

2 个答案:

答案 0 :(得分:1)

我遇到了这个问题并最终做到了这个

var slider = new Slider(track,knob, {
    onChange: function(){
        console.log("doesn't fire after autosize()");
    }
});

// fake .set(); 
slider.step = 50;  // new value
slider.autosize(); // redraw the knob

答案 1 :(得分:0)

创建一个表示您以编程方式设置它的变量,然后在变量为true时跳过事件处理程序。

然后,每次在代码中设置滑块时,首先将变量设置为true,然后将false块中的finally替换为{{1}}。