首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我使用JQuery滑块去隐藏图像时,当移动滑块的速度非常快时,它就不能工作了

当我使用JQuery滑块去隐藏图像时,当移动滑块的速度非常快时,它就不能工作了
EN

Stack Overflow用户
提问于 2014-04-13 23:10:48
回答 1查看 63关注 0票数 0

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

我有一个使用css‘display:none’隐藏的图像列表

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

代码语言:javascript
复制
#cloud-10

#cloud-20

#cloud-30 ... etc

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

代码语言:javascript
复制
$('#cloud-' + i).css( {'display':'block'}  );

好消息是,当你移动滑块非常慢,它的工作。问题是,当你把滑块尽可能快地移到右边时,它就不起作用了。

我怎么才能解决这个问题?

下面是对完整代码的修改:

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-13 23:18:54

不是每个值都会触发滑块的slide()-function。它只触发所有的X毫秒。所以你的徒弟就不行了。您可以做的是:在数字等于或小于滑块值的地方显示所有div。

代码语言:javascript
复制
$('[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+')')访问所有降低滑块值的元素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23049592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档