Javascript jquery.delay()不做任何事情

Javascript jquery.delay()不做任何事情,javascript,jquery,Javascript,Jquery,您好,我制作了一个模态,并添加了一个关闭按钮,因此,当它单击时,它会向模态添加一个类,触发关闭模态动画,但我再次尝试删除该类,但它什么也不做 这是我的密码 $('.close').on('click', function(){ $(this) .parent().addClass("closing") .delay(3250) .queue(function() { $(this).parent().removeClass('closing'); $(this).

您好,我制作了一个模态,并添加了一个关闭按钮,因此,当它单击时,它会向模态添加一个类,触发关闭模态动画,但我再次尝试删除该类,但它什么也不做

这是我的密码

$('.close').on('click', function(){
$(this)
  .parent().addClass("closing")
  .delay(3250)
  .queue(function() {
     $(this).parent().removeClass('closing');
     $(this).parent().removeClass('open');
     $(this).dequeue();
 });
});

我添加了一个控制台日志,以查看.delay是否有效,并且由于链接,它似乎找不到从中删除类的正确元素,
.queue()
中的此变量将引用
.close
元素的父元素

$('.close').on('click', function () {
    $(this) // Initial element.
        .parent().addClass("closing") // this refers  to$(this).parent()
        .delay(3250)
        .queue(function () {
        $(this).parent().removeClass('closing'); // This refers to $(this).parent().parent()
        $(this).parent().removeClass('open');
        $(this).dequeue();
    });
});
解决方案
$('.close')。在('click',function()上{
$(this.parent().addClass(“关闭”)
.延迟(3250)
.queue(函数(){
$(this.removeClass('open-closing').dequeue();
});
});
。正在关闭{
背景:红色;
}

佩伦特式居住者morbi tristique Sentecus et netus et malesuada以turpis egestas闻名。前庭侵权人、世仇、别有用心者、临时诉讼人、担保人。不要让你的自由人坐在那里。我的生命是永恒的。
莫里斯·普莱斯特拉特·埃利芬德·利奥。他是一个聪明的人。威斯康辛州的前庭、调味品、康茂德维塔、奥纳雷西特、威斯康辛州。埃涅亚发酵液、elit eget tincidunt调味品、欧洛斯益智果、甜慈姑
拉卡斯·埃尼姆酒后驾车。在turpis枕面部进行非enim治疗。乌特·费利斯。事实上,这是一个错误,是一个错误,是一个错误,是一个错误。阿利奎姆·埃拉特·帕特。Nam dui mi、tincidunt quis、accumsan porttitor、,
美托斯卢克图斯面肌

接近
由于链接,
.queue()中的此变量将引用
.close
元素的父元素

$('.close').on('click', function () {
    $(this) // Initial element.
        .parent().addClass("closing") // this refers  to$(this).parent()
        .delay(3250)
        .queue(function () {
        $(this).parent().removeClass('closing'); // This refers to $(this).parent().parent()
        $(this).parent().removeClass('open');
        $(this).dequeue();
    });
});
解决方案
$('.close')。在('click',function()上{
$(this.parent().addClass(“关闭”)
.延迟(3250)
.queue(函数(){
$(this.removeClass('open-closing').dequeue();
});
});
。正在关闭{
背景:红色;
}

佩伦特式居住者morbi tristique Sentecus et netus et malesuada以turpis egestas闻名。前庭侵权人、世仇、别有用心者、临时诉讼人、担保人。不要让你的自由人坐在那里。我的生命是永恒的。
莫里斯·普莱斯特拉特·埃利芬德·利奥。他是一个聪明的人。威斯康辛州的前庭、调味品、康茂德维塔、奥纳雷西特、威斯康辛州。埃涅亚发酵液、elit eget tincidunt调味品、欧洛斯益智果、甜慈姑
拉卡斯·埃尼姆酒后驾车。在turpis枕面部进行非enim治疗。乌特·费利斯。事实上,这是一个错误,是一个错误,是一个错误,是一个错误。阿利奎姆·埃拉特·帕特。Nam dui mi、tincidunt quis、accumsan porttitor、,
美托斯卢克图斯面肌

接近
由于链接,
.queue()中的此变量将引用
.close
元素的父元素

$('.close').on('click', function () {
    $(this) // Initial element.
        .parent().addClass("closing") // this refers  to$(this).parent()
        .delay(3250)
        .queue(function () {
        $(this).parent().removeClass('closing'); // This refers to $(this).parent().parent()
        $(this).parent().removeClass('open');
        $(this).dequeue();
    });
});
解决方案
$('.close')。在('click',function()上{
$(this.parent().addClass(“关闭”)
.延迟(3250)
.queue(函数(){
$(this.removeClass('open-closing').dequeue();
});
});
。正在关闭{
背景:红色;
}

佩伦特式居住者morbi tristique Sentecus et netus et malesuada以turpis egestas闻名。前庭侵权人、世仇、别有用心者、临时诉讼人、担保人。不要让你的自由人坐在那里。我的生命是永恒的。
莫里斯·普莱斯特拉特·埃利芬德·利奥。他是一个聪明的人。威斯康辛州的前庭、调味品、康茂德维塔、奥纳雷西特、威斯康辛州。埃涅亚发酵液、elit eget tincidunt调味品、欧洛斯益智果、甜慈姑
拉卡斯·埃尼姆酒后驾车。在turpis枕面部进行非enim治疗。乌特·费利斯。事实上,这是一个错误,是一个错误,是一个错误,是一个错误。阿利奎姆·埃拉特·帕特。Nam dui mi、tincidunt quis、accumsan porttitor、,
美托斯卢克图斯面肌

接近
由于链接,
.queue()中的此变量将引用
.close
元素的父元素

$('.close').on('click', function () {
    $(this) // Initial element.
        .parent().addClass("closing") // this refers  to$(this).parent()
        .delay(3250)
        .queue(function () {
        $(this).parent().removeClass('closing'); // This refers to $(this).parent().parent()
        $(this).parent().removeClass('open');
        $(this).dequeue();
    });
});
解决方案
$('.close')。在('click',function()上{
$(this.parent().addClass(“关闭”)
.延迟(3250)
.queue(函数(){
$(this.removeClass('open-closing').dequeue();
});
});
。正在关闭{
背景:红色;
}

佩伦特式居住者morbi tristique Sentecus et netus et malesuada以turpis egestas闻名。前庭侵权人、世仇、别有用心者、临时诉讼人、担保人。不要让你的自由人坐在那里。我的生命是永恒的。
莫里斯·普莱斯特拉特·埃利芬德·利奥。他是一个聪明的人。威斯康辛州的前庭、调味品、康茂德维塔、奥纳雷西特、威斯康辛州。埃涅亚发酵液、elit eget tincidunt调味品、欧洛斯益智果、甜慈姑
拉卡斯·埃尼姆酒后驾车。在turpis枕面部进行非enim治疗。乌特·费利斯。事实上,这是一个错误,是一个错误,是一个错误,是一个错误。阿利奎姆·埃拉特·帕特。Nam dui mi、tincidunt quis、accumsan porttitor、,
美托斯卢克图斯面肌

接近
当您看到自己在事件处理程序中多次写入
$(此)
时,您应该将该对象作为变量缓存,以提高效率,最大限度地减少函数调用,并使代码更易于阅读

然后,当您开始进入其他
这个
上下文时,新的命名变量使您更容易准确地知道您存储了什么元素,这也是您现在所遇到的情况。在您的情况下,您有一个
this
元素,然后在队列回调中
this
引用初始元素的父元素,这让您感到困惑

简单修复…缓存引用