当我使用JQuery滑块取消隐藏图像时,它非常快速地移动滑块时不起作用

时间:2014-04-13 23:10:48

标签: javascript jquery jquery-ui dom

我有一个jquery滑块,用于取消隐藏图像列表。 我的代码概要如下。

我有一个使用css'隐藏的图像列表。显示:无'

每个图片都有一个id,其中包含与该模式匹配的数字:

#cloud-10

#cloud-20

#cloud-30 ... etc

我正在使用JQuery滑块,当我移动滑块时,它会触发一个递增的计数器,这个计数器用在一行JQuery代码中,如下所示:

$('#cloud-' + i).css( {'display':'block'}  );

好消息是,当您移动滑块非常慢时,它可以工作。问题是当你只是尽可能快地向右移动滑块时它不起作用。

我该如何解决这个问题?

这是一个完整代码的小提琴:

http://jsfiddle.net/Y8yNL/1/

1 个答案:

答案 0 :(得分:0)

不会为每个值触发滑块的slide() - 功能。它仅触发所有X ms。所以你的apprach不会工作。 你可以做的是:你可以显示数量等于或小于滑块值的所有div。

$('[id^="cloud"]').each(function(){
    var index = parseInt(this.id.replace('cloud-', ''));
    if(index <= ui.value)
         $(this).show();
});

更新了小提琴:http://jsfiddle.net/Y8yNL/3/ 好吧 - 所有你的ids都以&#39;云开始&#39;使这个例子失败。你应该用另一种方式来管理imgs。

你应该清理你的代码!

//编辑:为避免混淆,请尝试使用ceartain id将所有图像分组到一个div中。然后,您可以使用$('#divId img:lt('+ui.value/10+')')

访问降低滑块值的所有元素