在调整窗口大小时添加类,并使用添加的类来触发手风琴内容 - 不起作用

时间:2014-09-14 06:38:43

标签: jquery addclass jquery-ui-accordion

我在手机页面布局尺寸上使用手风琴。我有jQuery将类(.mobile)添加到h3标签。想法是.mobile类用于触发手风琴内容。但我不能让它发挥作用。当我在手风琴jQuery中将.mobile更改为h3时,它可以工作,但添加.mobile类手风琴不起作用。为什么呢?

以下是working JSFIDDLE with h3 in accordion trigger示例。更改结果窗口时,Accordion正在运行,您可以通过单击标题打开内容。

这是一个added mobile class to to trigger - not working JSFIDDLE。我添加了行jQuery( "h3" ).addClass( "mobile" );。所以它将移动类添加到h3。为什么手风琴不能使用这个增加的.mobile类?

2 个答案:

答案 0 :(得分:1)

  • jQuery('mobile')应该jQuery('.mobile')位于不同的地方。
  • 您的脚本设置为执行onLoad,因此触发resize的IIFE将在.mobile处理程序之后执行,后者又会添加ready()类。将脚本执行更改为No wrap将解决此问题

Updated Fiddle

PS:我想知道为什么你有两个调整大小处理程序,一个文档准备好,一个IIFE以及一些松散的代码......你可能只需要准备文件和调整大小处理程序< / em>的

答案 1 :(得分:0)

您需要更改.ready函数中的代码,如下所示:

jQuery('.page-title').click(function() {           //.page-title class is added
        if(jQuery(this).data("slided") === true) {
            jQuery(this).next().slideUp('normal');
            jQuery(this).data("slided", false);
        } else {
            jQuery('.page-title').data('slided',false);    //.page-title class is added
            jQuery('.sec').slideUp('normal');   
            jQuery(this).next().slideDown('normal');
            jQuery(this).data("slided", true);
        }
    });    

工作Fiddle