有人可以告诉我为什么这个jquery不起作用吗?
我有一个这样的清单:
<div id="services">
<h1>Services</h1>
<ul>
<li class="menu"><a href="#">menu item1</a></li>
<li class="menu"><a href="#">menu item2</a></li>
<li class="menu"><a href="#">menu item3</a></li>
<li class="menu"><a href="#">menu item4</a></li>
</ul>
</div>
我希望在悬停时从左侧滑动背景图像,然后在鼠标移动时将其反转。
以下jquery代码在moueover或mouseout上没有做任何事情。我在这里缺少什么?
$(function(){
$('li.menu a').css( {backgroundPosition: "-416px 0"})
.mouseover(function(){
$(this).stop().animate({backgroundPosition:"(0px 0px)"}, 500)
})
.mouseout(function(){
$(this).stop().animate({backgroundPosition:"(-416px 0)"}, 500)
});
});
答案 0 :(得分:1)
$('li.menu a').css({
opacity: 0.5,
marginLeft: "-5px"
});
$('li.menu a').mouseover(function() {
$(this).stop().animate({
marginLeft: "0px",
opacity: 1
}, 500)
}).mouseout(function() {
$(this).stop().animate({
marginLeft: "-5px",
opacity: 0.5
}, 500)
});
<强> Just a demo 强>
答案 1 :(得分:1)
所以你需要做的就是将单个参数传递给backgroundPosition,这是X轴的默认值。也传递int,这是像素的默认值。
$('li.menu a').css({
backgroundPosition: -416
}).mouseover(function(){
$(this).stop().animate({backgroundPosition: 0}, 500)
}).mouseout(function(){
$(this).stop().animate({backgroundPosition: -416}, 500)
});
答案 2 :(得分:0)
如果没有a plugin,您似乎无法做到这一点。
答案 3 :(得分:0)
试试这个,
$('li.menu a').css({background-position-x:"-416px",background-position-y:"0"});
$('li.menu a').mouseover(function(){
$(this).stop().animate({background-position-x:"0",background-position-y:"0"}, 500)
})
.mouseout(function(){
$(this).stop().animate({background-position-x:"-416px",background-position-y:"0"}, 500)
});