我是jQuery新手,遇到了一个问题。当我想使用多个方法时,代码无法工作。下面是代码:
$("document").ready(function() {
$("#button1").click(function() {
$("#home").fadeTo(1000, 0.5).delay(1800).fadeIn(500);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<img src="img.png" alt="list image" id="menu">
<br/>
<nav>
<ul>
<li id="home"><a href="#">Home</a></li>
<li id="contact"><a href="#">Contact</a></li>
<li id="about"><a href="#">About</a></li>
</ul>
</nav>
<br/>
<button id="button1">Button1</button>
我把延时从800改成了1800,因为我以为点击的时候会延时,也因为.fadeTo
的速度是1000ms,可惜没有用,之后我重写了代码。
$("document").ready(function(){
$("#button1").click(function(){
$("#home").fadeTo(1000,0.5,function(){
$(this).delay(800).fadeIn(1000,1.0);
});
});
});
这也不起作用。所以最后我把.fadeIn
改成了.fadeTo
。这起作用了!所以现在,因为这个我有一些问题无法回答。
1.为什么$("#home").fadeTo(1000,0.5).delay(1800).fadeIn(500);
不工作?
1.为什么.fadeIn
可以工作而.fadeTo
不能?
1条答案
按热度按时间ivqmmu1c1#
这个问题与链接无关,正如您在使用完成函数时所发现的那样。
我认为问题在于,如果元素没有隐藏,
fadeIn()
什么也不做;如果元素是半透明的,它就会起作用。将其更改为fadeTo(500, 1.0)
,它就会起作用。据我所知,这在文档中没有明确说明,我不确定这是
fadeIn()
中的bug还是文档中的bug。