2014-10-29 213 views
-2

我正在努力將一個元素賦值給一個變量 - 我是否在這裏忽略了陰謀?將元素賦值給一個變量

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/

+0

你錯過了,這是一個錯字括號 – 2014-10-29 23:09:33

+0

- 我已經糾正了現在 - 道歉 – 2014-10-29 23:10:38

+0

我沒有downvote你,這就是我認爲錯字 – 2014-10-29 23:12:28

回答

1

對象定義

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>

+0

對不起!這是一個錯字。 – 2014-10-29 23:10:04

+0

啊..只是讓我再看看 – 2014-10-29 23:10:43

+0

有沒有什麼喜悅?這讓我瘋狂 – 2014-10-29 23:31:53

0

試試這個:

animationupgrades = [ { 
     animation: "height", 
     target: $('#element'), 
     effect: 33, 
     finished: 23 } 
    ]; 
+0

缺失的括號是一個錯字 - 我現在糾正了這個錯誤 – 2014-10-29 23:14:56