slideUp()和slideDown()在.delegate()内部不起作用

时间:2013-07-11 12:25:11

标签: javascript jquery jquery-mobile

我正在使用JQM开发一个网站。我通过AJAX数据动态创建了一个可折叠的。现在,我想让可折叠的幻灯片顺利进行(JQuery mobile)。问题是.delegate函数正在执行,但它使用默认的滑动速度而不是更改。我的代码是:

$('#search-page').delegate('.menu-collapse','expand', function (event) {
      $(this).children().slideDown(300);
  }).delegate('.menu-collapse','collapse', function (event) {
    $(this).children().next().slideUp(300);
      event.stopPropagation();
});

我觉得$(这个)有些问题。任何人都可以解决它吗?在此先感谢。

2 个答案:

答案 0 :(得分:0)

<诗歌,完全按照你想要的方式工作

$(document).on('pageinit',function(event){
    $('[data-role="collapsible"]').bind('expand', function (event) {

        $(this).find('.ui-collapsible-content')
               .css('display','none')
               .slideDown(300, function(){
                  $(this).css('display','block');
                });

    }).bind('collapse', function (event) {  

       $(this).find('.ui-collapsible-content.ui-collapsible-content-collapsed')
              .slideUp(300);    
    });
});

FIDDLE HERE

答案 1 :(得分:0)

我认为,您需要找到方法,如何为可折叠集设置动画,而不是为什么delegate不能正常工作 查看this等问题,然后尝试一下 但我不能重复这一点,因为它有点不同。