javascript – hide()vs hide(“slow”)

前端之家收集整理的这篇文章主要介绍了javascript – hide()vs hide(“slow”)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我需要隐藏一个div,使用此代码它可以正常工作:

    var idObj = $(this).attr('key');
var valH = $(this).attr('hideval');
var valS = $(this).attr('showval');

if ($('div[name='+idObj+']').attr('isdisplay') == 'no') {
    $('div[name='+idObj+']').children().show("slow");
    $('div[name='+idObj+']').attr('isdisplay','yes');
    var divTitle = $('div[name='+idObj+']').children().first();
    var divArrow = $(this).children().first();
    //.attr('src',prefixImg+valH);

    //divTitle.show();
    //divArrow.show();
    $(this).children().first().attr('src',prefixImg+valH);
} else {

    var divTitle = $('div[name='+idObj+']').children().first();
    var divArrow = $('div[name='+idObj+']').children().last();
    //.attr('src',prefixImg+valS);

    $('div[name='+idObj+']').children().hide();
    $('div[name='+idObj+']').attr('isdisplay','no');

    divTitle.show();
    divArrow.show();
    $(this).children().first().attr('src',prefixImg+valS);
}

隐藏了我的div,并显示了重新打开div的标题和箭头.但是如果我尝试使用hide(“slow”),当div关闭时divTitle和divArrow就不会出现.使用hide(1000)的相同问题.

隐藏有没有“慢”参数之间有区别吗?

谢谢,
安德里亚

最佳答案
$(element).hide()立即隐藏一个元素,其中$(element).hide(‘slow’)将动画消失(慢慢地).

看起来(虽然我不确定)你想在动画结束后做些什么.在这种情况下,做这样的事情:

var that = this;  // here to preserve scope for the block below
$('div[name='+idObj+']').children().hide('slow',function() {

    // This stuff happens after the hide animation is done.
    $('div[name='+idObj+']').attr('isdisplay','no');

    divTitle.show();
    divArrow.show();
    $(that).children().first().attr('src',prefixImg+valS);  // <= note "that" instead of "this"

});
原文链接:https://www.f2er.com/html/426421.html

猜你在找的HTML相关文章