我试图关闭UL,使用向上滑动。我能够过滤掉我想要向下滑动的元素,并且我试图将其传递给函数并将其用作传递slideUp目标选择器的方法。未捕获的TypeError:对象#没有方法'slideToggle'
var timeout = 500;
var closetimer = 0;
var ddmenuitem = 0;
function jsddm_open(){
current_element = $(this).find('#menudropdown > li ul');
jsddm_canceltimer();
jsddm_close(current_element);
$('ul', this).slideDown();
}
function jsddm_close(current_element)
{
//alert(current_element);
current_element.slideUp();
}
function jsddm_timer(){
// var current_element = $(this);
closetimer = window.setTimeout(jsddm_close(current_element), timeout);
// current_element.slideUp();
}
function jsddm_canceltimer()
{ if(closetimer)
{ window.clearTimeout(closetimer);
closetimer = null;}}
$(document).ready(function(){
$('#menudropdown > li').bind('mouseover', jsddm_open)
$('#menudropdown > li').bind('mouseout', jsddm_timer)
});
答案 0 :(得分:2)
除了current_element
似乎是隐含的全局之外,我没有看到为什么这可能不起作用。如果由于某种原因没有正确设置,这将是未定义的,导致您的问题。更改函数以传递元素而不是依赖于全局变量有助于解决问题吗?