你可以有一個包含id
S於SideMenu_XyM
格的每一次點擊的div
元素和旋轉數組元素的數組如下 -
$(function(){
// array with div ids
var array=['MenuBoxA_XyM','MenuBoxB_XyM','MenuBoxC_XyM','MenuBoxD_XyM','MenuBoxE_XyM','MenuBoxF_XyM','MenuBoxG_XyM'];
var arrayLen = array.length;
// bind click event to SideMenu
$('#SideMenu_XyM').click(function(){
$('#'+array[arrayLen-4]).delay(100).queue(function(next){$(this).css('z-index', '3'); next();}).animate({top: "+=59px", left: "+=20px", width: "-=10px", height: "-=10px"});
$('#'+array[arrayLen-3]).delay(100).queue(function(next){$(this).css('z-index', '2'); next();}).animate({top: "+=50px", left: "+=20px", width: "-=10px", height: "-=10px"});
$('#'+array[arrayLen-2]).delay(100).queue(function(next){$(this).css('z-index', '1'); next();}).animate({top: "+=40px", left: "+=20px", width: "-=10px", height: "-=10px"});
$('#'+array[arrayLen-1]).delay(100).queue(function(next){$(this).css('z-index', '0'); next();}).animate({top: "-=268px"});
$('#'+array[arrayLen-7]).delay(200).queue(function(next){$(this).css('z-index', '2'); next();}).animate({top: "+=30px", left: "-=20px", width: "+=10px", height: "+=10px"});
$('#'+array[arrayLen-6]).delay(200).queue(function(next){$(this).css('z-index', '3'); next();}).animate({top: "+=40px", left: "-=20px", width: "+=10px", height: "+=10px"});
$('#'+array[arrayLen-5]).delay(200).queue(function(next){$(this).css('z-index', '4'); next();}).animate({top: "+=49px", left: "-=20px", width: "+=10px", height: "+=10px"});
//rotate array elements position
var last = array[arrayLen-1];
for(var i= (arrayLen-1);i>0;i--)
{
array[i] = array[i-1];
}
array[0] = last;
});
});
DEMO
對不起,我忘了提及這些動畫不會同時在所有div上運行。他們應該在被調用時針對每個div單獨運行。 – 2014-09-30 04:35:51
你在哪個事件中調用這些'div's?如果你在div'MenuBoxA'上調用這兩個jquery,你可以傳遞'$(this)'而不是'#MenuBoxA'。 – 2014-09-30 04:37:33
單擊鼠標。它們是我正在嘗試製作的「某種」旋轉菜單的一部分。我可以發佈整個代碼,但對於問答部分可能太長。 – 2014-09-30 04:42:01