我需要在点击“添加到心愿单”按钮时发出警报,并在2秒内消失警报。这就是我尝试的方式,但警报一出现就立即消失。不确定,错误在哪里..任何人都可以帮助我吗?
JS脚本
$(document).ready (function(){
$("#success-alert").hide();
$("#myWish").click(function showAlert() {
$("#success-alert").alert();
window.setTimeout(function () {
$("#success-alert").alert('close'); }, 2000);
});
});
HTML代码:
<div class="product-options">
<a id="myWish" href="" class="btn btn-mini" >Add to Wishlist </a>
<a href="#" class="btn btn-mini"> Purchase </a>
</div>
提示框:
<div class="alert alert-success" id="success-alert">
<button type="button" class="close" data-dismiss="alert">x</button>
<strong>Success! </strong>
Product have added to your wishlist.
</div>
答案 0 :(得分:245)
顺利进行滑动:
$("#success-alert").fadeTo(2000, 500).slideUp(500, function(){
$("#success-alert").slideUp(500);
});
<强> Fiddle 强>
答案 1 :(得分:53)
使用fadeTo()
在2秒钟内褪色到500的不透明度&#34;我可以拥有Kittenz&#34;的代码对我来说是不可读的。我认为使用其他选项如延迟()
$(".alert").delay(4000).slideUp(200, function() {
$(this).alert('close');
});
答案 2 :(得分:30)
为什么所有其他答案都使用slideUp
超出了我的范围。我正在使用fade
和in
类让关闭时(或超时后)警报逐渐消失,我不希望它向上滑动&#34;向上滑动&#34 34;并与之发生冲突。
除了slideUp
方法甚至不起作用。警报本身根本没有显示。这对我来说非常有用:
$(document).ready(function() {
// show the alert
setTimeout(function() {
$(".alert").alert('close');
}, 2000);
});
答案 3 :(得分:18)
我发现这是一个更好的解决方案
$(".alert-dismissible").fadeTo(2000, 500).slideUp(500, function(){
$(".alert-dismissible").alert('close');
});
答案 4 :(得分:10)
另外一个解决方案 5秒后自动关闭或淡出引导警报消息:
这是用于显示消息的HTML代码:
<div class="alert alert-danger">
This is an example message...
</div>
JS片段
<script type="text/javascript">
$(document).ready(function () {
window.setTimeout(function() {
$(".alert").fadeTo(1000, 0).slideUp(1000, function(){
$(this).remove();
});
}, 5000);
});
</script>
答案 5 :(得分:1)
$("#success-alert").fadeTo(2000, 500).slideUp(500, function(){
$("#success-alert").alert('close');
});
其中fadeTo参数为fadeTo(速度,不透明度)
答案 6 :(得分:1)
这是使用jQuery显示动画的好方法
$(document).ready(function() {
// show the alert
$(".alert").first().hide().slideDown(500).delay(4000).slideUp(500, function () {
$(this).remove();
});
});
答案 7 :(得分:1)
C#控制器:
var result = await _roleManager.CreateAsync(identityRole);
if (result.Succeeded == true)
TempData["roleCreateAlert"] = "Added record successfully";
剃刀页面:
@if (TempData["roleCreateAlert"] != null)
{
<div class="alert alert-success">
<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
<p>@TempData["roleCreateAlert"]</p>
</div>
}
任何警报自动关闭:
<script type="text/javascript">
$(".alert").delay(5000).slideUp(200, function () {
$(this).alert('close');
});
</script>
答案 8 :(得分:0)
在需要时自动和手动触发
$(function () {
TriggerAlertClose();
});
function TriggerAlertClose() {
window.setTimeout(function () {
$(".alert").fadeTo(1000, 0).slideUp(1000, function () {
$(this).remove();
});
}, 5000);
}
答案 9 :(得分:0)
即使您多次单击该按钮,这也能完美运行。 这里我创建了一个 onClick 函数来触发 closeAlert 函数。
function closeAlert(){
const alert = document.getElementById('myalert')
alert.style.display = "block"
setTimeout(function(){
alert.style.display = "none"
}, 3000);
}