【发布时间】:2013-04-24 19:22:50
【问题描述】:
我有这个 HTML 代码:
<div id="espacePub">
<div id="menu">
<ul>
<li>Link 1</li>
<li>Link 2</li>
<li>Link 3</li>
<li>Link 4</li>
<li>Link 5</li>
<li>Link 6</li>
</ul>
</div><!-- End Div menu -->
</div><!-- End Div espacePub -->
我想选择 div #espacePub 而不是 div #menu 来淡出、更改背景然后淡入。根据http://api.jquery.com/not/ 上的文档,我尝试了这个:
var imgs = [
'img/pub.jpg',
'img/pub2.jpg',
'img/pub3.jpg'];
var cnt = imgs.length;
$(function() {
setInterval(Slider, 2000);
});
function Slider() {
$('#espacePub').not(document.getElementById('menu')).fadeOut("slow", function() {
$(this).css('background-image', 'url("'+imgs[(imgs.length++) % cnt]+'")').fadeIn("slow");
});
}
我的问题是整个#espacePub 都在褪色,包括#menu,但我不想让#menu 褪色...我做错了什么?
【问题讨论】:
-
只要
menu在espacePub内,它也会消失。fadeOut获取匹配的全部内容。您需要将其从espacePubdiv 中取出。 -
对了,你可以用
#menu代替document.getElementById('menu')