2012-10-02 62 views
0

我有兩個按鈕,它們是div和兩個段落,它們各自相互匹配。所以你點擊按鈕一,按鈕一旋轉45度,並開啓第一段的按鈕,按鈕二除了第二段以外都是一樣的。由於某種原因,如果你點擊第一個按鈕,它會打開兩個段落,如果你點擊按鈕兩個都不會發生,我不知道爲什麼。我將需要最終設置多個按鈕和段落。兩個按鈕在javascript中衝突

var epidural_analgesia_INFO = document.images[0]; 
epidural_analgesia_INFO.style.setProperty("-webkit-transition", "-webkit-transform 0.3s ease-in-out"); 

var epidural_analgesia_DEG = 0; 

epidural_analgesia_INFO.addEventListener('click', function() { 
$("p#epidural_analgesia_TEXT").slideToggle("fast"); 
epidural_analgesia_DEG += 45; 
epidural_analgesia_INFO.style.setProperty('-webkit-transform', 'rotateZ('+epidural_analgesia_DEG+'deg)'); 
}); 




var effects_of_yoga_INFO = document.images[0]; 
effects_of_yoga_INFO.style.setProperty("-webkit-transition", "-webkit-transform 0.3s ease-in-out"); 

var effects_of_yoga_DEG = 0; 

effects_of_yoga_INFO.addEventListener('click', function() { 
$("p#effects_of_yoga_TEXT").slideToggle("fast"); 
effects_of_yoga_DEG += 45; 
effects_of_yoga_INFO.style.setProperty('-webkit-transform', 'rotateZ('+effects_of_yoga_DEG+'deg)'); 
}); 

我有一個小提琴的設置,但它的大,所以我在這裏拿出具體的部件,但如果你想看到德撥弄它在這裏:http://jsfiddle.net/loriensleafs/AM2a2/12/非常感謝我的幫助。

回答

2

你分配你的點擊處理程序,通過這兩個變量引用的內容:

epidural_analgesia_INFO 
effects_of_yoga_INFO 

但是這兩個變量被初始化爲參考document.images[0]。因此,單擊該圖像會觸發這兩個處理程序。如果第二個可能使用索引1來獲得第二個圖像?

(順便說一句,爲什麼要用addEventListener()時,你似乎是使用jQuery?)

+0

你會如何設置了使用jQuery,我不知道該怎麼辦呢 – loriensleafs

+0

設置事件監聽器瓦特/ jQuery的,你將如何重新寫功能? – loriensleafs

+0

若要將點擊處理程序分配給ID爲「epidural_analgesia_INFO」的元素,您可以說$(「#epidural_analgesia_INFO」)。click(function(){...});'或$(「#epidural_analgesia_INFO 「).on(」click「,function(){...});((然後,jQuery將負責處理事件處理程序需要的跨瀏覽器的東西,例如舊版IE。) – nnnnnn

0

得到它,在格蘭第一線

VAR epidural_analgesia_INFO =的document.getElementById( 'epidural_analgesia_INFO');的

代替

變種effects_of_yoga_INFO = document.images [0];