一次只将 jquery 脚本应用于一个类
Apply jquery script to only one class at a time
如何一次仅将此脚本应用于一个类
<script>
$(document).ready(function(){
// set up click/tap panels
$('.click').toggle(function(){
$(this).addClass('flip');
},function(){
$(this).removeClass('flip');
});
// set up block configuration
$('.action').click(function(){;
$('.card').addClass('flip');
});
$('.action2').click(function(){
$('.card').removeClass('flip');
});
});
当我单击操作类时,所有卡片类都会翻转,我想一次旋转一个。
我的想法是单击一张并仅翻转该卡,单击另一张并仅翻转该卡而不是同时翻转所有卡。
如果您只想翻转包含您单击的操作的.card
div,请执行以下操作:
$('.action').click(function(){;
$(this).closest(".card").addClass('flip');
});
使用延迟
$('.action').click(function(){
$('.card').each(function(i, el) {
setTimeout(function(){ $(this).addClass('flip'); }, i*300);
});
});
如果你想在
点击时切换一个类,你可以利用toggleClass()。
$(document).on("click", ".click", function() {
$(this).toggleClass('flip');
});
现在,如果您想一次翻转一个。要确切知道你想要什么有点困难。我猜你想要这样的东西。
$('.action').click(function(){;
var cards = $('.card');
var current = cards.filter(".flip").removeClass('flip');
var next = current.length===1 && next.index()+1<cards.length? current.next() : cards.first();
next.addClass("flip");
});
您可以使用
setInterval()
现场演示
var cards;
index = 0;
var interval1;
function repeat()
{
cards.eq(index++).addClass('flip');
if(index == cards.length)
clearInterval(interval1);
}
$('.action').click(function(){
cards = $('.card');
interval1 = setInterval(repeat, 1000);
});
相关文章:
- 仅将 CSS 规则应用于
中的第一个 ,而不分配类/ID - 将 var 的值应用于加载页面中的另一个变量
- 为什么此脚本仅应用于此列表中的一个列表项
- jQuery mobile:在页面导航期间,当建立服务器连接时,下一个页面的样式将应用于当前页面
- 有没有一种纯粹的Javascript方法可以将一个函数应用于多个元素的事件
- 如何将样式应用于类的单个元素,同时从同一类的前一个元素中删除样式
- 离子事件侦听器在每个屏幕上触发,只想应用于一个控制器
- 从一个ColModel获取值,执行数学运算并将值应用于其他ColModel
- 获取链接 href 并将其应用于另一个链接 jQuery
- 如何将一个函数应用于网页上的多个 Id
- 如何将css加载程序仅应用于内容的一个特定部分
- jQuery只应用于一个元素
- 将多个代码镜像脚本应用于一个iframe
- 如何将Jquery函数应用于一个css类
- 将焦点应用于一个对象,10秒钟后将焦点应用到另一个对象
- CSS类只应用于一个元素
- 将ng-change应用于一个,该文件已经使用了它自己的指令
- 一次只将 jquery 脚本应用于一个类
- setHours()在应用于一个对象时更改两个对象的日期
- jQuery大小调整问题,如果应用于一个可调整大小的子元素