【问题标题】:Switching opacity using jquery使用 jquery 切换不透明度
【发布时间】:2015-01-06 00:06:31
【问题描述】:

为什么.delay 在我的代码中不起作用?
代码应该

  1. 将.sample的不透明度切换为0
  2. 等待2s(使用.delay)然后添加类.bg_color
  3. 等待 2 秒,然后将 .sample 的不透明度切换回 1

HTML

<div class="sample"></div><br><br><br>
<button class="btn_1">Change</button>

CSS

.sample{
    padding:20px;
    background:skyblue;
    float:left;
}
.bg_color{
    background:red;
}

JQUERY

$(document).ready(function(){
    $(".btn_1").click(function(){
      $(".sample").css("opacity","0");
        $(".sample").delay(1000).addClass("bg_color");
        $(".sample").delay(1000).css("opacity","1");

    });
});

你可以找到我的小提琴here

【问题讨论】:

  • 如文档所述: .delay() 方法最适合在排队的 jQuery 效果之间进行延迟。因为它是有限的——例如,它不提供取消延迟的方法——.delay() 不能替代 JavaScript 的原生 setTimeout 函数,这可能更适合某些用例。

标签: jquery html css opacity


【解决方案1】:

您可以使用 setTimeout :http://jsfiddle.net/okkuvep7/1/

$(document).ready(function(){
    $(".btn_1").click(function(){
      $(".sample").css("opacity","0");

        setTimeout(function () {
            $(".sample").addClass("bg_color");
            $(".sample").css("opacity","1");        
        }, 1000);
    });
});

【讨论】:

    猜你喜欢
    • 2015-02-20
    • 2012-12-08
    • 1970-01-01
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    • 2014-06-06
    • 2011-02-07
    • 1970-01-01
    相关资源
    最近更新 更多