如何使用jQuery創建在div之間滑動重複的背景圖像的效果?在div之間滑動重複的背景圖像
看看我這個簡單的fiddle。我正在使用與CSS組合使用的addClass
/removeClass
jQuery函數來更改哪個div具有背景圖像。這一切都很好。
但是如果我想動畫每個div之間的背景圖像的滑動怎麼辦?
如何使用jQuery創建在div之間滑動重複的背景圖像的效果?在div之間滑動重複的背景圖像
看看我這個簡單的fiddle。我正在使用與CSS組合使用的addClass
/removeClass
jQuery函數來更改哪個div具有背景圖像。這一切都很好。
但是如果我想動畫每個div之間的背景圖像的滑動怎麼辦?
你可以說,被後面的文字動畫背景的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/
完美 - 謝謝! – 2012-01-01 19:31:36
@AlexCoplan我只是將JavaScript代碼更改爲緩存選擇器(它應該運行得更快),並且它還改變了背景元素的不透明度以獲得整潔的效果:http://jsfiddle.net/Hwvsb/3/ – Jasper 2012-01-01 19:33:05
太棒了! - 這段代碼將會在幾天內生效,我會在這裏複製鏈接的時候:) – 2012-01-01 20:15:20
玩後臺位置屬性。 – clyfe 2012-01-01 19:03:37
@clyfe背景位置本身不會幫助,因爲它是一個重複的BG圖像 – 2012-01-01 19:08:01