我正在使用mootools为Youtube chromeless播放器创建一个CSS皮肤,使用javascript API来控制播放。很遗憾,我不能发布代码。我的问题是一个更一般的问题。使用滑块插件时,调用mySlider.set(步骤)会将旋钮移动到滑块上的正确步骤,但它会触发所有插件事件函数(onChange、onTick、onComplete)。这样做的问题是,您如何知道滑块旋钮位置是否由用户或对set()函数的调用更改?我本以为会有一个仅在鼠标松开旋钮时保留的函数,如果只是在代码中设置位置,则不会被调用。我有更新旋钮位置的代码,基于视频播放持续时间当前所在的位置。我需要能够将旋钮移动到代码中的当前位置,而不会认为用户松开了旋钮。
为了简化这个问题,有没有一种方法可以在代码中设置滑块上的旋钮位置,而不触发用户交互时使用的功能?
您可以在此处找到幻灯片插件参考http://mootools.net/docs/more/Drag/Slider
谢谢
发布于 2012-03-31 06:41:19
我遇到了这个问题,并最终这样做了
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发布于 2009-09-14 15:53:33
创建一个变量,表明您正在以编程方式设置它,如果该变量为true,则跳过事件处理程序。
然后,每次在代码中设置滑块时,首先将变量设置为true,然后在finally块中将变量设置回false。
https://stackoverflow.com/questions/1344410
复制相似问题