我想在用户单击“退出”按钮时显示Flash消息。此消息应持续3到5秒钟(setTimeout
),然后用户将被注销。我希望你能理解我。
$('#logout').click(function(e) {
e.preventDefault().innerHTML = "You will be logout!";
setTimeout(function() {
window.location.href = "/logout";
}, 5000);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<li><a href="/logout" id="logout">Sign out</a></li>
到目前为止,这是我的代码,当用户单击注销时,将显示警报消息,并在3-5秒后注销用户。知道怎么做吗?谢谢大家。
答案 0 :(得分:1)
您无法设置返回值innerHTML
的属性preventDefault
。将消息附加到正文,特定元素,或创建一个新元素。
这将显示一个简单的Modal,有关更高级的Modal,请参阅here
$('#logout').click(function(e) {
e.preventDefault();
$(this).hide();
$("body").append('<div style="z-index: 100; position: fixed; top: 10px; margin: 0 auto; left: 0; right: 0; width: 200px; padding: 20px; background: #EEEEEE;">You will be logged out</div>');
setTimeout(function() {
window.location.href = "/logout";
}, 5000);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<li><a href="/logout" id="logout">Sign out</a></li>
答案 1 :(得分:0)
我已更正您的代码,以使用jquery
选择器$(this)
和.text()
函数。我也对文本进行了更正。
让我知道这是否不是您想要的。
$('#logout').click(function(e) {
e.preventDefault();
$(this).text("You will be logged out!");
setTimeout(function() {
window.location.href = "/logout";
}, 5000);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<li><a href="/logout" id="logout">Sign out</a></li>