延迟hide()来自toggle()

Ric*_*ich 2 javascript jquery

我有一个元素,点击时可以使用jQuery的toggle()方法显示或隐藏.

使用toggle()可以延迟隐藏几秒钟,同时不会延迟可见性?

$('.myelement').click(function() {
    $('.myelement').toggle();
});
Run Code Online (Sandbox Code Playgroud)

hsz*_*hsz 9

试试:

$('.myelement').click(function() {
  if ($(this).is(':visible')) {
    $(this).delay(1000).hide();
  } else {
    $(this).show();
  }
});
Run Code Online (Sandbox Code Playgroud)

或者更简单:

$('.myelement').click(function() {
  $(this).delay($(this).is(':visible') ? 1000 : 0).toggle();
});
Run Code Online (Sandbox Code Playgroud)