我最终试图自动化一个功能,该功能将淡入淡出菜单中每个不同文本的图像。我可以为这样的每件事做一个函数:
$(document).ready(function(){
$('#nd').hover(function() {
$('#ndimg').fadeTo('fast',1)
}, function() {
$('#ndimg').fadeTo('fast',0);
});
});
我正在尝试通过使用“this”并使ID字符串连接来自动执行此操作,假设我已经在相应的模式中命名了所有图像Div,以便这可以工作。
$(document).ready(function(){
$(this).hover(function() {
var imageid = this.id;
$('#' + imageid +'img').fadeTo('fast',1)
}, function() {
$('#' + imageid +'img').fadeTo('fast',0);
});
});
这是我的HTML文档代码段:
<div class="workmenu">
<ul>
<li id="nd">Nora & Danny Show</li>
<li id ="tg"> Teagan George</li>
</ul>
</div>
<div class="logos"
<div id="ndimg">
<img src = "nd.png"/>
</div>
</div>
答案 0 :(得分:0)
有两个问题:
您必须将事件处理程序绑定到li
元素,而不是document
:
$('.workmenu li').hover(...);
在mouseout事件处理程序中,未定义imageid
,因为在调试代码时可以在控制台中看到。定义它:
$('.workmenu li').hover(function() {
var imageid = this.id;
$('#' + imageid +'img').fadeTo('fast',1)
}, function() {
var imageid = this.id;
$('#' + imageid +'img').fadeTo('fast',0);
});