【问题标题】:calling ajax only during accordian open仅在手风琴打开期间调用 ajax
【发布时间】:2012-07-15 06:17:23
【问题描述】:

我的系统中有一个手风琴,它通过 ajax 填充内容。 在当前系统中,它在 onClick 事件中被提及。 所以函数调用发生在打开和关闭时间。

我只需要将它限制在手风琴的开放时间。

【问题讨论】:

  • 点击我正在调用一个函数。我需要检查当时特定的手风琴是否打开。你能提供我的代码吗?
  • OP,为了让我们向您展示代码,您需要向我们展示代码。 SO 是让我们帮助您编写代码,而不是为您编写代码。

标签: jquery html ajax accordion


【解决方案1】:

我看不到你的具体代码,但我可以说出我是怎么做的并大致解释一下......

$('.va-slice').bind("expand", function(evt) {
if (typeof $(evt.target).data('state') === 'undefined') {
     url = $(evt.target).find('.va-content').data("url");
    $(evt.target).find('.va-content').load(url);
    $(evt.target).data('state', 'expanded');    
} else {}
}).bind("collapse", function(evt) {$(evt.target).data('state', 'collapsed');                    
    }).toggle(function() { // toggle between 
        $(this).trigger("expand");
    }, function() {
        $(this).trigger("collapse");
});

每个“va-slice”基本上都包含一个内容区域“va-content”, 我定义了两个事件;展开和折叠。 在扩展时,我检查数据“状态”是否已设置, 如果不是,那么这是第一次单击该区域,因此我加载内容然后将其“状态”数据设置为“扩展” 如果它已经被设置,那么我什么都不做,因为关闭与否,数据已经加载到内容区域。

这有帮助吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-23
    • 1970-01-01
    • 1970-01-01
    • 2011-10-20
    • 2020-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多