如何让jQuery效果在Firefox和Google Chrome上运行?

How to get jQuery effects working on Firefox and Google Chrome?

提问人:Raúl Roa 提问时间:1/18/2009 更新时间:12/28/2012 访问量:4560

问:

我正在使用 jQuery 和淡入淡出效果。我有以下代码来显示和隐藏带有消息的 div。

`

<script type="text/javascript">
    $(document).ready(function() {

        $("button").click(function() {
            $("#upd").fadeIn(3000);
            $("#upd").fadeOut(20000);
        });

    });
</script>

<style type="text/css">
    div
    {
        background: rgb(237, 243, 254);
        margin: 0px 0px 5px 0px;
        padding: 13px 30px 13px 30px;
        width: 300px;
    }
</style>

`

它在 Internet Explorer 上完美运行,但它在 chrome 中不做任何事情,我在 firefox 中得到显示和隐藏行为。

这个库是否有一个特殊的步骤来均匀地工作或至少接近所有浏览器?

jQuery 、Internet-Explorer Firefox Google-Chrome 效果

评论


答:

7赞 Sampson 1/18/2009 #1

尝试从 fadeIn 的回调中 fadeOut。这将确保后一种效果在第一个效果完成后运行,而不是在以下期间运行:

$(document).ready(function(){
  $("button").click(function(){
    $("#upd").fadeIn(3000,function(){
      $(this).fadeOut(2500);
    });
  });
});

jQuery本身在所有浏览器中的工作方式几乎相同。如果你遇到奇怪的行为,你可能做错了什么 - 而不是jQuery:)

0赞 strager 1/18/2009 #2

首先,确保您使用的是最新的 jQuery,并且所有浏览器都启用了 Javascript。

其次,尝试将 和 调用链接在一起:fadeInfadeOut

$("button").click(function() {
    $("#upd")
        .fadeIn(3000)
        .fadeOut(20000);
});
0赞 chris 3/16/2010 #3

这是问题: $(“按钮”)

没有像按钮这样的元素,如果它是一个类,那么: $('.按钮')

...如果它是一个 ID,那么: $('#button')