如何使用jQuery创建在div之间滑动重复背景图像的效果?
看看我做的这个简单的fiddle。我在CSS的组合中使用addClass / removeClass jQuery函数来改变哪个div有背景图像。这一切都很好。
但是如果我想让背景图像在每个div之间滑动的动画效果呢?
发布于 2012-01-02 03:27:29
您可以制作一个背景div,它在文本后面显示动画:
JS--
var $menu = $('#menu'),
$bg = $menu.children('.bg');
$menu.children().not($bg).click(function() {
var $this = $(this);
$menu.children('.active').removeClass('active');
$this.addClass('active');
$bg.css('opacity', 0.5).stop().animate({
left : $this.offset().left
}, 500, function() {
$(this).stop().animate({ opacity : 1 }, 250);
});
});HTML--
<div id="menu">
<div class="active">
Item 1
</div>
<div>
Item 2
</div>
<div>
Item 3
</div>
<div class="bg"></div>
</div>CSS--
#menu {
position : relative;
z-index : 1;
}
#menu > div {
z-index : 2;
display : inline-block;
height : 50px;
width : 150px;
text-align : center;
line-height : 2;
}
#menu .bg {
position : absolute;
z-index : -1;
top : 0;
left : 0;
background : transparent url('http://alexcoplan.co.uk/resources/active.png');
}这是一个演示:http://jsfiddle.net/Hwvsb/3/
https://stackoverflow.com/questions/8694835
复制相似问题