Передача переменной селектора фильтра в другую функцию - PullRequest
1 голос
/ 19 апреля 2011

Я пытаюсь закрыть UL, используя слайд вверх.Я могу отфильтровать элемент, который хочу скользить вниз, и пытаюсь передать его функции и использовать его как средство для передачи целевого селектора slideUp.Uncaught 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)

});

1 Ответ

2 голосов
/ 19 апреля 2011

Я не вижу ничего вопиющего о том, почему это может не сработать, за исключением того, что current_element кажется подразумеваемым глобальным.Если по какой-либо причине это не было установлено правильно, это было бы неопределенным, вызывая вашу проблему.Помогает ли изменение ваших функций для передачи элемента вместо того, чтобы полагаться на глобальные переменные,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...