使用jQuery使用CSS box-shadow进行脉冲效果

Mon*_*ffy 2 html javascript css jquery css3

我试图通过使用jquery创建css box-shadow的脉冲效果.我尝试了以下代码,但完全失败了.我想要实现的是具有盒阴影的平滑脉冲效果

我试过的代码是html

<div class="one">
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.one {
    width: 100px;
    height: 100px;
    background: red;
    -webkit-box-shadow: -1px -1px 5px rgba(50, 50, 50, 0.75);
    -moz-box-shadow:    -1px -1px 5px rgba(50, 50, 50, 0.75);
    box-shadow:         -1px -1px 5px rgba(50, 50, 50, 0.75);
}
.two {
    width: 100px;
    height: 100px;
    background: red;
    -webkit-box-shadow: -1px -1px 13px rgba(50, 50, 50, 0.75);
    -moz-box-shadow:    -1px -1px 13px rgba(50, 50, 50, 0.75);
    box-shadow:         -1px -1px 13px rgba(50, 50, 50, 0.75);
}
Run Code Online (Sandbox Code Playgroud)

jQuery的

$("div").setInterval(function() {
   $(this).toggleClass(".two");
}, 1000);
Run Code Online (Sandbox Code Playgroud)

小提琴http://jsfiddle.net/KXp4D/2/

2ne*_*2ne 9

纯CSS示例JSFIDDLE

@-webkit-keyframes shadow {
    0% {box-shadow: -1px -1px 5px rgba(50, 50, 50, 0.75);}
    50% {box-shadow: -1px -1px 13px rgba(50, 50, 50, 0.75);}
    100% {box-shadow: -1px -1px 5px rgba(50, 50, 50, 0.75);}
}
@-moz-keyframes shadow {
    0% {box-shadow: -1px -1px 5px rgba(50, 50, 50, 0.75);}
    50% {box-shadow: -1px -1px 13px rgba(50, 50, 50, 0.75);}
    100% {box-shadow: -1px -1px 5px rgba(50, 50, 50, 0.75);}
}
@keyframes shadow {
    0% {box-shadow: -1px -1px 5px rgba(50, 50, 50, 0.75);}
    50% {box-shadow: -1px -1px 13px rgba(50, 50, 50, 0.75);}
    100% {box-shadow: -1px -1px 5px rgba(50, 50, 50, 0.75);}
}

.one {
    width: 100px;
    height: 100px;
    margin: 10px;
    background: red;
    box-shadow: -1px -1px 5px rgba(50, 50, 50, 0.75);
}
.one:hover {
    -webkit-animation: shadow 1s ease-in-out infinite;
    -moz-animation: shadow 1s ease-in-out infinite;
    animation: shadow 1s ease-in-out infinite;
}
Run Code Online (Sandbox Code Playgroud)


And*_*ios 8

setInterval()不是一个jQuery函数,而是一个简单的JavaScript函数.

要使用它,您需要将代码更改为

setInterval(function() {
   $("div").toggleClass("two");
}, 1000);
Run Code Online (Sandbox Code Playgroud)

这可行,但像开关一样; 为了使它顺利,你可以像这样使用CSS3过渡:

transition: all 1s ease;
Run Code Online (Sandbox Code Playgroud)

演示

请注意,您不需要必要的javascript,这可以在纯CSS3中完成.