Javascript 如何在类的成员仍处于页面状态时进行写入
在jquery或js中,最好是支持良好的jquery或js,在页面上仍然有类的成员的情况下,我如何做呢 我在while套件中所做的是系统地删除类中的元素,但我不能一次删除所有元素 假设该类是Javascript 如何在类的成员仍处于页面状态时进行写入,javascript,jquery,Javascript,Jquery,在jquery或js中,最好是支持良好的jquery或js,在页面上仍然有类的成员的情况下,我如何做呢 我在while套件中所做的是系统地删除类中的元素,但我不能一次删除所有元素 假设该类是.card 这是我的密码: $('#dismissAllButton').click(function(){ while($('.dataCard').length>0){ $('.right').eq(0).remove(); $('#left').childr
.card
这是我的密码:
$('#dismissAllButton').click(function(){
while($('.dataCard').length>0){
$('.right').eq(0).remove();
$('#left').children('.dataCard').first().addClass('animated').addClass('right');
setTimeout(function(){
$('.right').eq(0).remove();
$('#right').children('.dataCard').first().addClass('animated').addClass('right');
}, 150);
}
});
HTML:
当长度不是0时删除
while ($(".card").length) {
$(".card").eq(0).remove();
}
你不需要一个while循环。相反,首先迭代每个列表,然后在每个列表中迭代每个卡片。这允许您根据卡所在的列表设置删除卡的延迟,以便您可以同时从每个列表中逐个删除卡
$("#dismissAllButton").on("click", function() {
$("#left, #right").each(function(i){
$(".dataCard",this).each(function(ii) {
var card = $(this);
setTimeout(function() {
card.addClass("right");
setTimeout(function() {
card.remove();
},500);
}, i*250+ii*500); // adjust `250` and `500` as needed.
});
});
});
250
是左右之间的延迟,500
是动画持续时间(别忘了更新css转换以反映这一点)我建议在删除元素时,选中$(“.card”).length
看起来像一个XY问题XY问题是什么?我想你需要发布你的代码。.eq()
做什么?它正在创建一个无限循环或其他东西。页面被卡住了。我只需点击一个按钮,我们称之为#按钮。你现在知道怎么做了,试着让它工作吗?尝试while($(“.card”).length!=0)
或undefined
使用typeof
我用代码更新了问题。我正在尝试从左栏、右栏系统地删除所有.datacard,然后重复。右边是一个css动画,制作动画好的,让我试试。我用>0
更改了它,但这不起作用。非常感谢。我要试试其他的东西。
$("#dismissAllButton").on("click", function() {
$("#left, #right").each(function(i){
$(".dataCard",this).each(function(ii) {
var card = $(this);
setTimeout(function() {
card.addClass("right");
setTimeout(function() {
card.remove();
},500);
}, i*250+ii*500); // adjust `250` and `500` as needed.
});
});
});