【发布时间】:2014-05-23 21:59:35
【问题描述】:
我有一个 jquery,它通过 .hover 函数传递变量来工作。如果鼠标悬停在它们上方,我想更改一系列图像。我可以写这样的东西:
$("p").hover(function(){
$("p").css("background-color","yellow");
},function(){
$("p").css("background-color","pink");
});
对于每个图像/div 或其他任何内容,但这似乎更耗时。我尝试使用我写的这个速记版本,但没有任何反应。
function acc(size,tog){e
if(tog){
$('#' + size + '_text').attr('src','assessts/icons/text_' + size + '_active.png');
if(current_acc != size){
$('#' + current_acc + '_text').attr('src','assessts/icons/text_' + current_acc + '.png');
}
}else{
$('#' + size + '_text').attr('src','assessts/icons/text_' + size + '.png');
if(current_acc != size){
$('#' + current_acc + '_text').attr('src','assessts/icons/text_' + current_acc + '_active.png');
}
}
}
$(function(){
$('#small_text').hover(acc('small',true),acc('small',false));
$('#med_text').hover(acc('small',true),acc('small',false));
$('#large_text').hover(acc('small',true),acc('small',false));
});
控制台日志中没有错误,图像没有改变,但如果我改变了
$('#small_text').hover(acc('small',true),acc('small',false)); 到
$('#small_text').hover(acc,acc);
图像不会改变,但那是因为“大小”的值是未知的。 但是有没有一种方法可以使用我写的东西,而不必为每个图像设置相同的功能。
【问题讨论】:
标签: javascript jquery hover mouseevent jquery-hover