将筛选器选择器变量传递给另一个函数



我试图关闭UL,使用幻灯片。我能够过滤掉我想要向下滑动的元素,我试图将其传递给一个函数,并将其用作传递slideUp目标选择器的手段。未捕获的TypeError: object#没有方法'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)

});

我没有看到任何明显的为什么这可能不工作,除了current_element似乎是一个隐含的全局。如果由于某些原因没有正确设置,这将是未定义的,导致您的问题。改变你的函数传递元素,而不是依赖于全局帮助解决问题吗?

最新更新