我有这段代码:
$('#services_list > div').hover(function() {
var serviceHoveredOn = '#' + $(this).attr('id');
$(serviceHoveredOn + ' .service_expand').stop().animate({'width': '169px'}, 150);
},
function() {
$(serviceHoveredOn + ' .service_expand').stop().animate({'width': '159px'}, 150);
});
但是,当我悬停在serviceHoveredOn
之外时,div
未定义。我搜索并发现了这个:
jquery: passing variables in hover() function?
但我不知道如何使用toggle()来解决我的问题。谢谢。
答案 0 :(得分:1)
您无法访问在另一个函数中声明的变量。
在您的情况下,您甚至不需要它。只需使用this
,并将其作为上下文传递:
$('#services_list > div').hover(function() {
$('.service_expand', this).stop().animate({'width': '169px'}, 150);
},
function() {
$('.service_expand', this).stop().animate({'width': '159px'}, 150);
});