首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Twitter Bootstrap提醒可以淡入淡出吗?

Twitter Bootstrap提醒可以淡入淡出吗?
EN

Stack Overflow用户
提问于 2011-10-06 23:05:58
回答 10查看 156.4K关注 0票数 80

当我第一次看到Bootstrap中的警告时,我认为它们的行为会像模式窗口一样,向下或淡入,然后在关闭时淡出。但它们似乎总是可见的。我想我可以让它们位于我的应用程序之上的一层,然后管理显示它们,但我想知道这个功能是不是内置的?

谢谢!

编辑,我到目前为止所拥有的:

代码语言:javascript
运行
复制
<div id="saveAlert" class="alert-message success fade in" data-alert="alert" style="top:0">
  <a class="close" href="#">×</a>
  <p><strong>Well done!</strong> You successfully read this alert message.</p>
</div>
EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2012-11-07 03:05:40

我强烈反对前面提到的大多数答案。

简短回答:

省略了" in“类,并使用jQuery添加它以使其淡入。

请参阅此jsfiddle以获取在3秒http://jsfiddle.net/QAz2U/3/后在警报中消失的示例

长篇答案:

尽管bootstrap本身并不支持淡入警报,但这里的大多数答案都使用了jQuery淡入功能,该功能使用bootstrap对元素进行动画处理(淡入淡出)。这样做的最大优点是跨浏览器的兼容性。缺点是性能(另请参阅:jQuery to call CSS3 fade animation?)。

Bootstrap使用CSS3转换,其性能要好得多。这一点对移动设备很重要:

引导CSS以淡出警报:

代码语言:javascript
运行
复制
.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -moz-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
.fade.in {
  opacity: 1;
}

为什么我认为这场表演如此重要?使用旧浏览器和硬件的用户可能会使用jQuery.fade()进行不稳定的转换。使用现代浏览器的旧硬件也是如此。使用CSS3过渡,使用现代浏览器的人即使使用较旧的硬件也能获得流畅的动画,而使用不支持CSS过渡的旧浏览器的人会立即看到元素弹出,我认为这是比不稳定的动画更好的用户体验。

我来到这里寻找与上面相同的答案:淡入引导警报。在深入研究Bootstrap的代码和CSS之后,答案相当简单。不要将"in“类添加到您的警报中。当你想要淡入你的警告时,使用jQuery添加这个。

超文本标记语言(注意,在类中没有!)

代码语言:javascript
运行
复制
<div id="myAlert" class="alert success fade" data-alert="alert">
  <!-- rest of alert code goes here -->
</div>

Javascript:

代码语言:javascript
运行
复制
function showAlert(){
  $("#myAlert").addClass("in")
}

调用上面的函数会添加" in“类,并使用CSS3转换淡入警报:-)

另请参阅此jsfiddle获取使用超时的示例(感谢John Lehmann!):http://jsfiddle.net/QAz2U/3/

票数 143
EN

Stack Overflow用户

发布于 2011-12-15 09:17:38

我使用的东西是:

在您的模板中有一个警告区域

代码语言:javascript
运行
复制
<div id="alert-area"></div>

然后是用于显示警报的jQuery函数

代码语言:javascript
运行
复制
function newAlert (type, message) {
    $("#alert-area").append($("<div class='alert-message " + type + " fade in' data-alert><p> " + message + " </p></div>"));
    $(".alert-message").delay(2000).fadeOut("slow", function () { $(this).remove(); });
}
newAlert('success', 'Oh yeah!');
票数 28
EN

Stack Overflow用户

发布于 2011-10-06 23:35:33

您可以使用jquery淡入框中。使用'hide‘类中内置的bootstraps在div元素上有效地设置display:none:

代码语言:javascript
运行
复制
<div id="saveAlert" class="alert alert-success hide" data-alert="alert" style="top:0">
            <a class="close" href="#">×</a>
            <p><strong>Well done!</strong> You successfully read this alert message.</p>
        </div>

然后在jquery中使用fadeIn函数,如下所示:

代码语言:javascript
运行
复制
$("#saveAlert").fadeIn();

还可以指定fadeIn函数的持续时间,例如:$("#saveAlert").fadeIn(400);

有关使用fadeIn函数的完整详细信息,请访问jQuery官方文档网站:http://api.jquery.com/fadeIn/

另外,如果你不使用jquery,你可以将'hide‘类添加到你自己的CSS文件中,或者直接添加到你的div中:

代码语言:javascript
运行
复制
 <div style="display:none;" id="saveAlert">

然后,您的div基本上将被设置为隐藏作为默认设置,然后jQuery将执行fadeIn操作,强制显示div。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7676356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档