【问题标题】:On click of a button show a div for 1 second and then hide it? [duplicate]单击按钮显示一个 div 1 秒钟然后隐藏它? [复制]
【发布时间】:2016-03-30 20:39:58
【问题描述】:

单击按钮时,我想显示一个 div 1 秒,然后将其隐藏:

<button id="btnSave">Save Click</button>
<div class="hideme" id="infor">This is a test div</div>


  $(document).ready(function () {
  $("#infor").hide();
      $("#btnSave").click(
            function () {
                AlertSave();
            }            
        );
    });
function AlertSave() {
   $("#infor").delay(1000).fadeIn("slow");
}

这是my fiddle

你能告诉我怎么做吗??

【问题讨论】:

标签: jquery


【解决方案1】:

您可以简单地将fadeIn()fadeOut()delay() 之间的调用链接起来:

$(document).ready(function () {
    $("#infor").hide();
    $("#btnSave").click(AlertSave);
});
function AlertSave() {
    $("#infor").fadeIn("slow").delay(1000).fadeOut("slow");
}

http://jsfiddle.net/TrueBlueAussie/cjwj6gvx/

【讨论】:

  • @PreethiJain 我先回答。请看我的回答。
  • 我忘了延迟:)
  • @Praveen Kumar:您的回答就像我发布之前一样没有我展示的任何快捷方式。请不要试图拿走别人的功劳。圣诞快乐 :)
  • @TrueBlueAussie 嗯,是的,但是把快捷方式放在一边。 :)我发布的第一个答案也有效。无论如何,如果那是有罪的,我承认。享受你的投票吧!圣诞快乐。
  • @TrueBlueAussie 看起来这个人永远不会接受答案。
【解决方案2】:
$(document).ready(function () {
  $("#infor").hide();
      $("#btnSave").click(
            function () {
                AlertSave();
            }            
        );
    });
function AlertSave() {
   $("#infor").show();
   $("#infor").delay(1000).fadeOut();
}

我认为上面的代码可以完成这项工作,尝试一下,让我知道输出是否正确

【讨论】:

    【解决方案3】:

    我来晚了,但要提一下,除了显示的所有其他答案还有其他 2 种方法..

    第一种方法:利用 CSS3 动画,并使用 jQuery 添加包含动画的类,然后在动画持续时间结束后将其删除,如 JS Fiddle 1

    var element =$('#infor');
    
    $("#btnSave").click(AlertSave);
    
    function AlertSave() {
    	element.addClass('show-me');
      setTimeout(function () {
         element.removeClass('show-me');
      }, 2000);
    }
    #infor {
      opacity: 0;
    }
    .show-me {
      animation: foo 2s ease-in-out
    }
    @keyframes foo {
      0%, 99%, { opacity: 0; }
      25%, 75% { opacity: 1; }
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    <button id="btnSave">Save Click</button>
    <div class="hideme" id="infor">This is a test div</div>

    第二个方法:利用jQuery .animate()这样的函数JS Fiddle 2

    var element = $('#infor');
    element.animate({'opacity': 0}, 0);
    
    $("#btnSave").click(AlertSave);
    
    function AlertSave() {
      element.animate({'opacity':1}, 300).delay(1000);
      setTimeout(function () {
         element.animate({'opacity':0}, 300);
        }, 1600);
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    <button id="btnSave">Save Click</button>
    <div class="hideme" id="infor">This is a test div</div>

    【讨论】:

      【解决方案4】:

      这样使用:

      function AlertSave() {
        $("#infor").fadeIn("slow", function () {
          setTimeout(function () {
            $("#infor").fadeOut("slow");
          }, 1000);
        });
      }
      

      小提琴:http://jsfiddle.net/0zdLbqa7/

      你也可以使用简写:

      $("#infor").fadeIn("slow").delay(1000).fadeOut("slow");
      

      两者的片段:

      $(document).ready(function () {
        $("#infor").hide();
        $("#btnSave").click(AlertSave);
      });
      function AlertSave() {
        $("#infor").fadeIn("slow", function () {
          setTimeout(function () {
            $("#infor").fadeOut("slow");
          }, 1000);
        });
      }
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
      <button id="btnSave">Save Click</button>
      <div class="hideme" id="infor">This is a test div</div>

      $(document).ready(function () {
        $("#infor").hide();
        $("#btnSave").click(AlertSave);
      });
      function AlertSave() {
        $("#infor").fadeIn("slow").delay(1000).fadeOut("slow");
      }
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
      <button id="btnSave">Save Click</button>
      <div class="hideme" id="infor">This is a test div</div>

      注意:我还建议您更改 .click() 处理程序。

      【讨论】:

      • 说真的,为什么投反对票?
      猜你喜欢
      • 2021-06-14
      • 1970-01-01
      • 2011-08-11
      • 2021-04-02
      • 2011-05-06
      • 1970-01-01
      • 2013-01-16
      • 2016-05-21
      • 1970-01-01
      相关资源
      最近更新 更多