将元素赋值给一个变量
我正在努力将一个元素赋值给一个变量 - 我是否在这里忽略了阴谋?将元素赋值给一个变量
animationupgrades = [{
animation: "height",
target: $('#element'),
effect: 33,
finished: 23
}];
var thisIndex = 0; //as an example
var aniAttribute = animationupgrades[thisIndex].animation;
var target = animationupgrades[thisIndex].target;
var effect = animationupgrades[thisIndex].effect;
var finished = animationupgrades[thisIndex].finished;
$(target).on('mouseover', function() {
$(this).stop().animate({
aniAttribute : effect
},500);
console.log("errr");
}).on('mouseout', function() {
$(this).stop().animate({
aniAttribute : finished
},500);
});
编辑:对不起,它实际上是一个对象 - 我错了!为什么所有的降价?
edit2:小提琴! http://jsfiddle.net/28wone62/
对象定义
var aniAttribute = "height";
{ aniAttribute : "literal" }
定义所谓的 “aniAttribute” 不是一个属性的属性称为 “高度”
这里更多钞票溶液。
animationupgrades = [{
animation: "height",
target: $('#element'),
effect: 33,
finished: 23
}];
var thisIndex = 0; //as an example
var attr = animationupgrades[thisIndex].animation;
var target = animationupgrades[thisIndex].target;
var effect = animationupgrades[thisIndex].effect;
var finished = animationupgrades[thisIndex].finished;
$(target).on('mouseover', function() {
console.log("a", attr, target, effect + "px", finished);
var obj = {};
obj[attr] = effect + "px";
$(this).stop().animate(obj, 500);
}).on('mouseout', function() {
var obj = {};
obj[attr] = finished + "px";
$(this).stop().animate(obj,500);
});
.red {
background: red;
height: 20px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="red" id="element">
asdasdasdasd
</div>
对不起!这是一个错字。 – 2014-10-29 23:10:04
啊..只是让我再看看 – 2014-10-29 23:10:43
有没有什么喜悦?这让我疯狂 – 2014-10-29 23:31:53
试试这个:
animationupgrades = [ {
animation: "height",
target: $('#element'),
effect: 33,
finished: 23 }
];
缺失的括号是一个错字 - 我现在纠正了这个错误 – 2014-10-29 23:14:56
你错过了,这是一个错字括号 – 2014-10-29 23:09:33
- 我已经纠正了现在 - 道歉 – 2014-10-29 23:10:38
我没有downvote你,这就是我认为错字 – 2014-10-29 23:12:28