2013-01-09 42 views
0

我使用jQuery版本jquery-1.8.2.js和jquery-ui.js v1.9.0。我有一个PHP页面index.php。它加载得很好,当我打开index.php,但当我切换标签的内容需要时间加载我已经查看了萤火虫的细节jquery-1.8.2.js花了4.84秒,jquery-ui花了8.32秒,ajax花费了659ms。似乎jQuery是采取足够的时间在装载和我无法找到我的index.php中下面的代码的原因jQuery UI选项卡,当我切换到第二个选项卡的js和jQuery文件需要时间加载

$(function() { 
     $("#tabs").tabs({ 
      beforeLoad: function(event, ui) { 
       ui.jqXHR.error(function() { 
        ui.panel.html(
         "Couldn't load this tab."); 
       }); 
      } 
     }); 
    }); 

<div id="tabs"> 
    <ul> 
     <li><a href="#tabs-1">Set Up</a></li> 
     <li><a href="temp1.php">temp1 </a></li> 
     <li><a href="temp2.php">temp 2</a></li> 
     <li><a href="temp3.php">temp 3</a></li> 
    </ul> 
    <div id="tabs-1"> 
    content here 
    </div> 
</div> 

temp1.php我有一个AJAX方法,其填充数据在一张桌子里。

+0

我正在按照本教程www.jqueryui.com/tabs/#ajax – bewithyou

+0

你能从Google CDN调用jQuery? – Mooseman

回答

0

虽然我不能完全确定你是问,最后一句是导致我相信你不知道为什么你需要下面的JavaScript代码:

$(function() { 
     $("#tabs").tabs({ 
      beforeLoad: function(event, ui) { 
       ui.jqXHR.error(function() { 
        ui.panel.html(
         "Couldn't load this tab."); 
       }); 
      } 
     }); 
    }); 

原因这个代码是有,因为它是一个错误处理程序,用于处理“标签”ID的div中的任何内容。所以,如果你去加载一些东西,并返回一个错误,该处理程序将捕获错误并显示“无法加载此选项卡”的好文本。而不是什么都看不到。错误处理程序放置在beforeLoad的原因是因为使用选项卡时发生的主要位置错误是在加载期间发生的 - 所以如果在可能发生错误之前未放置处理程序 - 它不能被捕获。

0

好的我在这里回答我自己的问题,我注意到我有我的所有页面头部的jquery-ui.css和jquery.js的链接,例如temp1.php,temp2.​​php和temp3.php,它们在index.php的ul中定义为tab的一部分。删除它们后,它工作正常。我相信js和css加载在每个页面上,不应该在标签页的情况下,因为它是加载在index.php

相关问题