延迟hide()来自toggle()

时间:2014-06-12 16:39:41

标签: javascript jquery

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

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

$('.myelement').click(function() {
    $('.myelement').toggle();
});

1 个答案:

答案 0 :(得分:9)

试试:

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

或更简单:

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