Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在类的成员仍处于页面状态时进行写入_Javascript_Jquery - Fatal编程技术网

Javascript 如何在类的成员仍处于页面状态时进行写入

Javascript 如何在类的成员仍处于页面状态时进行写入,javascript,jquery,Javascript,Jquery,在jquery或js中,最好是支持良好的jquery或js,在页面上仍然有类的成员的情况下,我如何做呢 我在while套件中所做的是系统地删除类中的元素,但我不能一次删除所有元素 假设该类是.card 这是我的密码: $('#dismissAllButton').click(function(){ while($('.dataCard').length>0){ $('.right').eq(0).remove(); $('#left').childr

在jquery或js中,最好是支持良好的jquery或js,在页面上仍然有类的成员的情况下,我如何做呢

我在while套件中所做的是系统地删除类中的元素,但我不能一次删除所有元素

假设该类是
.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.
        });
    });
});