6
我開始學習jQuery。我編寫了一個代碼,它將通過調用存儲在數組中的函數來循環給定元素的位置。這此代碼工作正常:當動畫時取消設置css參數
<script type="text/javascript">
$(document).ready(function(){
$('#right_column').css({zIndex:1000, position: 'absolute', right: 0, top:200 });
$('body').css({overflow:'hidden'});
var funcs = new Array(
function(o){
$(o).animate({right: 0, top:200}, 1000);
},
function(o){
$(o).animate({top: 0},1000);
},
function(o){
$(o).animate({right: 300},1000);
},
function(o){
$(o).animate({right: 300, top:200},1000);
}
);
var flip=0;
$('#right_column').click(function self(){
funcs[++flip % funcs.length]('#right_column');
});
});
</script>
,但如果我改變位置參數,這樣
var funcs = new Array(
function(o){
$(o).animate({right: 0, top:200}, 1000);
},
function(o){
$(o).animate({top: 0},1000);
},
function(o){
$(o).animate({left: 0},1000);
},
function(o){
$(o).animate({right: 300, bottom:0},1000);
}
);
它打破。
我假設互補參數(top top < - > bottom; left < - > right)會干擾,就像他們在普通的css中所做的一樣。
所以我的問題是:如何將css參數重置爲undefined?
編輯
animate
似乎並不能夠處理auto
可能。它沒有改變行爲。 與css()
它的工作原理。
var funcs = new Array(
function(o){
$(o).css({right:0, bottom:0,left:'auto', top:'auto'})
console.log('funcs 0');
},
function(o){
$(o).css({top:0, right:0, left:'auto', bottom:'auto'})
console.log('funcs 1');
},
function(o){
$(o).css({left:0, top:0, right:'auto', bottom:'auto'})
console.log('funcs 2');
},
function(o){
$(o).css({right:'auto', top:'auto',left:0, bottom:0})
console.log('funcs 3');
}
);
css({...:'auto'})
運行前/後animate()
破壞動畫
任何其它提示(原因)?
哦,很簡單:d我在心裏對複雜... – vikingosegundo 2009-10-09 13:33:35