我有一个jquery滑块,我用它来隐藏图像列表。我的代码概要如下。
我有一个使用css‘display:none’隐藏的图像列表
每个图像都有一个id,其中包含一个与此模式相匹配的数字:
#cloud-10
#cloud-20
#cloud-30 ... etc我使用的是JQuery滑块,当我移动滑块时,它会触发一个递增的计数器,该计数器用于如下所示的一行JQuery代码中:
$('#cloud-' + i).css( {'display':'block'} );好消息是,当你移动滑块非常慢,它的工作。问题是,当你把滑块尽可能快地移到右边时,它就不起作用了。
我怎么才能解决这个问题?
下面是对完整代码的修改:
http://jsfiddle.net/Y8yNL/1/
发布于 2014-04-13 23:18:54
不是每个值都会触发滑块的slide()-function。它只触发所有的X毫秒。所以你的徒弟就不行了。您可以做的是:在数字等于或小于滑块值的地方显示所有div。
$('[id^="cloud"]').each(function(){
var index = parseInt(this.id.replace('cloud-', ''));
if(index <= ui.value)
$(this).show();
});更新的小提琴:http://jsfiddle.net/Y8yNL/3/很好--所有以‘云’开头的ids都会导致这个例子失败。你应该用另一种方式来鞭打那些蠢货。
你应该清理你的代码!
// Edit:为了避免id的混乱,尝试将所有图像组合在一个div中,并使用一个ceartain。然后可以使用$('#divId img:lt('+ui.value/10+')')访问所有降低滑块值的元素。
https://stackoverflow.com/questions/23049592
复制相似问题