【发布时间】:2021-07-01 18:46:31
【问题描述】:
【问题讨论】:
-
那么,到目前为止,您尝试了什么?
标签: javascript jquery
【问题讨论】:
标签: javascript jquery
html
<div class="blink">blinking text</div>
jquery
function blink(selector){
$(selector).fadeOut('slow', function(){
$(this).fadeIn('slow', function(){
blink(this);
});
});
}
blink('.blink');
演示:
function blink(selector) {
$(selector).fadeOut('slow', function() {
$(this).fadeIn('slow', function() {
blink(this);
});
});
}
blink('.blink');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="blink">blinking text</div>
non-blinking
<div class="blink">more blinking text</div>
更新(更新答案)
您不再需要使用 jQuery 来实现此类效果。您可以只使用 CSS(使用CSS animations)。
(兼容性表http://caniuse.com/#feat=css-animation)
CSS(使用标准属性)
.blink{
animation:blink 700ms infinite alternate;
}
@keyframes blink {
from { opacity:1; }
to { opacity:0; }
};
演示(带有供应商前缀属性):
.blink {
-webkit-animation: blink 700ms infinite alternate;
-moz-animation: blink 700ms infinite alternate;
-o-animation: blink 700ms infinite alternate;
animation: blink 700ms infinite alternate;
}
@-webkit-keyframes blink {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@-o-keyframes blink {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@-moz-keyframes blink {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
@keyframes blink {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
;
<div class="blink">blinking text</div>
non-blinking
<div class="blink">more blinking text</div>
【讨论】:
from { background-color:rgba(0,0,0,1); } to { background-color:rgba(0,0,0,0); }(黑色)
假设你的 div 有 id="blinkMe"
setInterval(function () {
var vis = $("#blinkMe").css("visibility");
vis = (!vis || vis == "visible") ? "hidden" : "visible";
$("#blinkMe").css("visibility", vis);
}, 500);
注意:使用“可见性”而不是“显示”/.toggle(),因为后者会导致布局在 div 闪烁时移动。
【讨论】: