2013-07-10 131 views
0

我有一個錨標記和懸停,其中,我想我的div顯示,並應該隱藏在mouseout。只是一個典型的jQuery鼠標事件。jquery鼠標事件不起作用的錨標記

但是,這似乎並不奏效。有人可以幫我解決這個問題。檢查小提琴http://jsfiddle.net/SLLeL/

$(".contributor").on({ 

mouseover: function(e) { 

populateContributorsInArray(this); 
var mousex = e.pageX - LEFT; // Get X coordinates 
var mousey = e.pageY - TOP; // Get Y coordinates 
$('#myDiv').css({ 
    top : mousey, 
    right : mousex 
}); 

var ul_data = ""; 
for (var i = 0; i < CONTRIBUTORS.length; i++) { 
    ul_data = ul_data + "<li>" + CONTRIBUTORS[i] + "</li>"; 
} 
$("#myDiv ul").html(ul_data); 
$("#myDiv").stop().hide().slideToggle('fast'); 
$("#arrow-left").stop().hide().slideToggle('fast'); 

}, 

mouseout: function(){ 
    alert("hi"); 
//Basically hide the div 
//  $("#contributors_div").stop().hide().slideToggle('fast'); 
//  $("#arrow-left").stop().hide().slideToggle('fast'); 
} 
}); 

而且

<div id="myDiv"> 
    <div id="arrow-left"></div> 
    <ul></ul> 
</div> 

<a class="contributor" href="#">Hover Me</a> 
+0

哪裏是'populateContributorsInArray'功能......這個功能缺失在你jsfiddle – bipen

+0

VAR中的錯誤CONTRIBUTORS = {「abc」,「def」};在jsfiddle懸停事件工作正常改變它爲VAR CONTRIBUTORS = [「abc」,「def」]; –

+0

'populateContributorsInArray'基本上是一個函數,它通過JSON讀取來填充'CONTRIBUTORS'數組,然後循環遍歷數組以將貢獻者放入要顯示的div內的'ul'標籤。 –

回答

2

您創建了一個對象,而不是數組的HTML ..所以你的錯誤是Unexpected token ,檢查您的控制檯...

變化

var CONTRIBUTORS = {"abc", "def"}; 

to array

var CONTRIBUTORS = ["abc", "def"]; 

,它應該工作..雖然你的提琴缺少populateContributorsInArray功能被稱爲鼠標懸停方法裏面..

fiddle here

+0

正如我上面所說的,'populateContributorsInArray'基本上是一個函數,它通過JSON讀取來填充'CONTRIBUTORS'數組,然後循環遍歷數組以將貢獻者放入要顯示的div內的'ul'標籤。 –

+0

通過拆分逗號分隔的字符串來填充「CONTRIBUTORS」數組。 '貢獻者= list.split(「,」);'這樣的事情。 –

+0

好吧,那很好......你還有錯誤嗎? – bipen