我想要开始看不到的图像,然后在某些时候可见,然后在2秒的持续时间内将其不透明度降低到.5。 以下是我想要实现的代码:
$("#image").removeClass("notVisible").addClass("visible").animate({
opacity: 0.5,
}, 2000);
我的问题是,使用代码,图像直接可见到.5的不透明度,但我想要的是图像变得可见(正常不透明度为1),然后才动画化为不透明度。五 谢谢你的时间,
答案 0 :(得分:0)
.fadeTo()
方法为匹配元素的不透明度设置动画。
持续时间以毫秒为单位;值越高表示动画越慢,而动画越快。可以提供字符串'fast'和'slow'以分别指示200和600毫秒的持续时间。如果提供了任何其他字符串,则使用400毫秒的默认持续时间。与其他效果方法不同,.fadeTo()要求明确指定持续时间。
$( "#clickme" ).click(function() {
$( "#book" ).fadeTo( "slow" , 0.5, function() {
// Animation complete.
});
});
来源:https://api.jquery.com/fadeTo/
在你的情况下:
$("#image").removeClass("notVisible").addClass("visible").fadeTo( 2000 , 0.5)
并在css中将#image opacity设置为1。
还有一个很棒的JsFiddle答案 1 :(得分:0)
我认为您需要使用visible
的初始显示设置元素,然后首先添加类notVisible
,然后删除notVisible
类,以使其显而易见。因为首先删除$("#image").addClass("visible").removeClass("notVisible").animate({
opacity: 0.5,
}, 2000);
类,将立即显示该元素。
.notVisible{
display: none;
}
.visible{
display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="notVisible" id="image" style="background:red;width:50px;height:50px;"></div>
dlls
答案 2 :(得分:0)
喜欢这个吗?
$(document).ready(function(){
var y = setInterval(function(){
$("#myElem").css('display', 'block').fadeTo(2000, 0.5);
clearInterval(y);
},2000);
});
&#13;
#myElem{
display: none;
width: 100px;
height: 100px;
background: red;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="myElem"></div>
&#13;