【问题标题】:CSS or jQuery not loading intermittentlyCSS 或 jQuery 没有间歇性加载
【发布时间】:2017-05-02 14:42:06
【问题描述】:

我正在测试一个 html 文件,其中包含一个带有大框的简单表格或将由 Ajax 调用换出的 html 代码。该代码是一个带有一些图像的选项卡式面板。

当我点击锚标签时,它通常可以正常工作,但有时 css 链接不会加载,因此框会展开,选项卡式面板只是散乱的 html。

这里是测试站点:(http://www.mapartist.com/panels/b.html) 下面是简单代码:

<!DOCTYPE HTML>
<HTML>
<HEAD>
     <link rel="Stylesheet" href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/themes/redmond/jquery-ui.css" />
      <script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.8.0.js"></script>
      <script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.22/jquery-ui.js"></script>
</HEAD>     

<TABLE width= 800  height= 800 border=1>
  <TR>
    <TD width =600>
      <DIV id="spot"></DIV>
    </TD>
    <TD class="menu">
      <a href="a2Tabs.html"> Picture 1 </a> 
    </TD>
    <TD class="menu">
      <a href="a1Tabs.html"> Picture 2 </a> 
    </TD>
  </TR>
</TABLE>

<SCRIPT type="text/javascript" ">

   $(".menu a").click(function(){
     $("#spot").load(this.href);
     return false;
   })

</SCRIPT>

</HTML>

【问题讨论】:

  • 你的问题是什么?我不明白
  • 问题是间歇性的。如果单击锚标记,选项卡式面板通常会正确显示。但每隔一段时间,它就会在没有 CSS 或查询的情况下加载并显示为直接 HTML。

标签: javascript jquery html css ajax


【解决方案1】:

尝试在请求之后将标签初始化:

$("#spot").load(this.href,function(){
    $("#tabs").tabs();
});

并将其从其他页面“a1Tabs.html/a2Tabs.html”中删除,这样您可以确保仅在加载选项卡后触发 init。

您也可以尝试 Ivan Karaman 的建议方法refresh

$("#tabs").tabs("refresh");

希望这会有所帮助。

【讨论】:

  • $("#tabs").tabs("refresh"); api.jqueryui.com/tabs/#method-refresh
  • @IvanKaraman 感谢您的干预,但每次单击锚点时,新标签都会替换页面中的旧标签...添加了您的建议。
【解决方案2】:

这似乎是页面加载问题,在给定链接上调试您的问题后,您似乎每次点击都从 CDN 加载 css 和 js 文件。有时它不能有效加载,因此出现问题。

我试着用

找到这个 jquery的
load function()
,发现你的情况可以使用“Loading Page Fragments”的概念来解决问题。

【讨论】:

    猜你喜欢
    • 2011-11-04
    • 2019-12-15
    • 2013-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-29
    • 2016-10-20
    相关资源
    最近更新 更多