我正在尝试将背景图像淡入我的列表项。我已经尝试了一切,但找不到它...
HTML:
<li id="een">
<h1>Title</h1>
<p id="text1">Text</p>
</li>
jQuery:
$('#een').mouseenter(function(){
$('#een').css("background-image", "url(images/een.png)");
});
我正在尝试将背景图像淡入我的列表项。我已经尝试了一切,但找不到它...
HTML:
<li id="een">
<h1>Title</h1>
<p id="text1">Text</p>
</li>
jQuery:
$('#een').mouseenter(function(){
$('#een').css("background-image", "url(images/een.png)");
});
您需要制作一个背景 img 元素,该元素在相对父级内绝对定位。
这是我的意思的一个例子。
HTML注意我添加了一个 div 类
li-background
作为每个li
. 这将由 CSS 编辑以在加载时不显示并绝对定位在其相对定位的 li 父级内。我还将其设置z-index
为 -1,因此它不会显示在文本或 li 中的任何其他项目中,因此它是背景!
<ul>
<li id="een">
<div class="li-background"><img src="http://www.freenew.net/upload/pscreen/47/gradient-screensaver-32.jpg" /></div>
<h1>Title</h1>
<p id="text1">Text</p>
</li>
<li id="een">
<div class="li-background"><img src="http://www.freenew.net/upload/pscreen/47/gradient-screensaver-32.jpg" /></div>
<h1>Title2</h1>
<p id="text1">Text2</p>
</li>
<li id="een">
<div class="li-background"><img src="http://www.freenew.net/upload/pscreen/47/gradient-screensaver-32.jpg" /></div>
<h1>Title3</h1>
<p id="text1">Text3</p>
</li>
<li id="een">
<div class="li-background"><img src="http://www.freenew.net/upload/pscreen/47/gradient-screensaver-32.jpg" /></div>
<h1>Title4</h1>
<p id="text1">Text4</p>
</li>
</ul>
CSS
ul li { position: relative; }
ul li:hover { color: white; }
.li-background {
display: none;
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
z-index: -1;
}
.li-background img {
height: 100%;
width: 100%;
}
jQ 脚本
$("li").hover(function(eIn) {
$(this).children(".li-background").stop().fadeIn();
},
function(eOut) {
$(this).children(".li-background").stop().fadeOut();
});
如果您真的想使用背景,您也可以使用switchClass 。像这样:
if ($('#testDiv').hasClass('class1'))
$('#testDiv').switchClass("class1", "class2", 500);
else
$('#testDiv').switchClass("class2", "class1", 500);