Zacząłem uczyć się jQuery. Napisałem kod, który cyklicznie zmienia pozycję danego elementu, wywołując funkcje przechowywane w tablicy. Działa to dobrze dla tego kodu:unset parametry css podczas animowania
<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>
ale jeśli mogę zmienić parametr pozycje jak ten
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);
}
);
łamie.
Zakładam, że parametry uzupełniające (górna < -> dolna, lewa < -> prawa) przeszkadzają, tak jak w zwykłym pliku css.
Moje pytanie brzmi: Jak mogę zresetować parametry css do niezdefiniowanych?
edit
animate
wydaje się nie być w stanie obsłużyć auto
prawdopodobnie. To nie zmieniło zachowania. z css()
to działa.
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');
}
);
działa css({...:'auto'})
przed/po animate()
zniszczone (przyczyny) animacji
każda inna wskazówka?
Och, dość łatwe: D Pomyślałem skomplikowane ... – vikingosegundo