我对jQuery的问题是,当我使用争论dir
时,动画不起作用,但是当我展示出类型left
或right
时(与dir
完全相同的值{1}}通过)似乎很好。
function update(dir) {
$('#label').animate({
dir: '200px'
}, 'slow');
}
$('#goLeft').click(function() {
update('left');
});
答案 0 :(得分:4)
您可以使用bracket notation将变量作为属性传递。
在这种情况下,您可以使用[dir]
:
function update(dir) {
$('#label').animate({
[dir]: '200px'
}, 'slow');
}
基本示例:
function update(dir) {
$('#animate').animate({
[dir]: '100px'
}, 'slow');
}
$('#go-left').click(function() {
update('left');
});
$('#go-down').click(function() {
update('top');
});

#animate { position: relative; }

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="go-left">Go left</button>
<button id="go-down">Go down</button>
<div id="animate">Animate me</div>
&#13;