2013-07-10 95 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