锚标记有两个事件发射,淡出不参与退出

时间:2016-03-23 20:51:46

标签: jquery html alert

我正在尝试使用我的注销按钮触发两个动作。首先是简单地退出系统,然后我希望它使用我的jQuery来发出警报,我希望它保持3秒然后消失。它目前正在运行,但很快就消失了。我必须在href =位中添加“#”,它会取消已经将用户登出系统的操作。我正在使用Silverstripe SS模板文件进行参考。有没有办法在“{Link}注销”中添加“#”而不会破坏它?这是在测试服务器上,所以没有小提琴,对不起......

当我将其添加到锚点时,警报正常工作,但之后不会注销:

href="# {$Link}logout"

当前不褪色的HTML:

<a href="{$Link}logout" id="show-my-alert" class="btn btn-default btn-menu-donate-offcanvas btn-side">
<i class="fa fa-sign-out fa-fw"></i><br><span class="donate-text"> SIGN OUT</a>

<div id="my-alert" class="alert alert-warning hidden" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">    
    <span aria-hidden="true">&times;</span>
</button> 
<strong>Warning!</strong> You are now logged out of the system.

的jQuery

<script>

$("#show-my-alert, .close").click(function() {
$("#my-alert").toggleClass("hidden").fadeIn(3000);
$("#my-alert").fadeOut(3000);
});

</script>

现在使用的最终脚本:

$(function () {
$("#show-my-alert, .close").click(function(e) {
var isClosing = $("#my-alert").data("isClosing");
if (isClosing === undefined || isClosing != true) {
  $("#my-alert").toggleClass("hidden").fadeOut(3000, function() {

    $("#my-alert").data("isClosing", true);
  });
  e.preventDefault();  // prevent logout during fading
} else {
  // this time logout
   }
 });
});

1 个答案:

答案 0 :(得分:1)

我不知道您使用的产品,但我可以做简单的jQuery(我希望这可以帮到您):

&#13;
&#13;
$(function () {
  $("#show-my-alert, .close").click(function(e) {
    var isClosing = $("#my-alert").data('isClosing');
    if (isClosing === undefined || isClosing != true) {
      $("#my-alert").toggleClass("hidden").fadeOut(3000, function() {
        $("#my-alert").fadeIn(3000, function() {
          document.getElementById("show-my-alert").click();
        });
        $("#my-alert").data('isClosing', true);
      });
      e.preventDefault();  // prevent logout during fading
    } else {
      // this time logout
    }
  });
});
&#13;
.hidden {
  visibility: hidden;
}
&#13;
<script src="https://code.jquery.com/jquery-1.12.1.min.js"></script>


<a href="{$Link}logout" id="show-my-alert" class="btn btn-default btn-menu-donate-offcanvas btn-side">
    <i class="fa fa-sign-out fa-fw"></i><br><span class="donate-text"> SIGN OUT</a>

<div id="my-alert" class="alert alert-warning hidden" role="alert">
    <button type="button" class="close" data-dismiss="alert" aria-label="Close">
        <span aria-hidden="true">&times;</span>
    </button>
    <strong>Warning!</strong> You are now logged out of the system.
</div>
&#13;
&#13;
&#13;