jQuery UI选项卡,里面有ajax和jQuery滑块。 95%完成

时间:2012-02-27 22:03:04

标签: jquery ajax jquery-ui

你好代码大师和jQuery专家!

-------------- ----------------已编辑

好吧,正如Kevin B所指出的那样,我想要实现的东西不会起作用,因为标签内容标签不能在#tab div之外,那么我再次使用旧的jQuery Ui版本构建了jQuery UI标签它工作的地方!请在此处查看:http://raimondsblums.lv/freelance/ajax4/

问题是我完全不知道如何将ajax应用于此示例!

--------------编辑结束----------------

以下是我的内容:http://raimondsblums.lv/freelance/ajax2/ 我花了很多时间让这些滑块在使用ajax时工作,因为我对javascript的了解与我对脑部手术的了解非常相似,这是没有的。好吧,也许不是那么糟糕!

所以一切工作正常,除了一个部分 - 当使用带有jQuery UI选项卡的axaj时,那些带有class =“ui-tabs-panel”的DIV是生成的。它们是在制表符按钮后生成的, 所以目前看起来像这样:

<div id="tabs">
  <ul>
    <li><a href="projekts0.html">Preloaded</a></li>
    <li><a href="projekts1.html">Tab 1</a></li>
    <li><a href="projekts2.html">Tab 2</a></li>
  </ul>
  <div id="ui-tabs-1" class="ui-tabs-panel"><div class="flexslider"></div></div>
  <div id="ui-tabs-2" class="ui-tabs-panel"><div class="flexslider"></div></div>
  <div id="ui-tabs-3" class="ui-tabs-panel">unrelated content, just for testing if it works</div>
</div>

我希望它看起来像这样:

<div class="bildiic">
  <div id="ui-tabs-1" class="ui-tabs-panel"><div class="flexslider"></div></div>
  <div id="ui-tabs-2" class="ui-tabs-panel"><div class="flexslider"></div></div>
  <div id="ui-tabs-3" class="ui-tabs-panel">unrelated content, just for testing if it works</div>
</div>

<div id="tabs">
  <ul>
    <li><a href="projekts0.html">Preloaded</a></li>
    <li><a href="projekts1.html">Tab 1</a></li>
    <li><a href="projekts2.html">Tab 2</a></li>
  </ul>
</div>

我想到的是这个功能真的有效(它在源代码中,我已经将它注释掉了)并将这些ui-tabs-panel放在一个特定的标签中:

<script>
$(function() {
  $('.ui-tabs-panel').appendTo('.bildiic');
});
</script>

但这搞砸了jQuery Ui标签功能,标签停止工作......

此时我的知识结束了,我不知道如何修复这些功能以使其全部工作!

帮助!

1 个答案:

答案 0 :(得分:0)

由于制作标签窗口小部件的方式,它不会以这种方式工作。它不是设计为在tabs小部件之外存在面板。你可能最好建立一些外观和行为类似于标签的东西,但不依赖于标签小部件。

这些是来自jquery ui tabs小部件的行,阻止你做你想做的事情。 ( self.element.find 部分)。

// inline tab
if ( fragmentId.test( href ) ) {
    self.panels = self.panels.add( self.element.find( self._sanitizeSelector( href ) ) );

面板必须是标签容器的子项。

<强>更新
这是一个解决方法:

$("#tabs").tabs({
    add: function(e, ui){
        $(".bildiic").append(ui.panel);
    }
});

每次添加标签时,它都会附加到相应的div。我没有对此进行测试,但理论上它应该可行。让我知道它对你有用。