【问题标题】:hide tab when no content & load content after onclick tab没有内容时隐藏选项卡并在 onclick 选项卡后加载内容
【发布时间】:2012-04-25 19:16:27
【问题描述】:

我已经构建了一个 jquery 选项卡,如果它的内容为空,它会显示或隐藏选项卡按钮。

现在,由于页面加载,我只想在有人点击标签按钮时加载内容。

这是检查是否有内容的代码,如果为空则隐藏选项卡:

$j(function() {
    if ($j.trim( $j("#CONTENTDIV").html()) == "") {
        $j("li#TABBUTTON").hide();
    }
});

如何在点击时加载内容,但如果没有内容则隐藏标签按钮?

【问题讨论】:

  • 如果标签页被隐藏,如何点击加载内容?
  • 比它保持隐藏,因为它没有内容。我希望有内容可见的选项卡,但通过 onclick 事件或其他内容加载其内容。这可能吗?
  • 唯一的方法是预先加载所有内容,最好在初始化选项卡之前。
  • 我担心你会这么说。有没有其他想法有动态标签按钮,但在点击后加载内容?选项卡的内容太大,无法一次加载
  • 如果你在加载之前不知道内容是什么,你必须加载它才能确定它是否有内容。

标签: php javascript jquery tabs


【解决方案1】:

如果您想延迟加载选项卡的内容直到它被单击,那么您无法知道(在单击之前)该选项卡是否应该显示(有内容)或不显示(没有内容)。

从哲学上讲,您可以创建一个轻量级的 AJAX 函数,该函数请求一个(本质上)空页面,该页面仅询问数据库字段中是否有任何值,如果有任何内容,则简单地返回 true,而不是整个页面。然后,单击时,您可以检索内容。

编辑:当然,这假设您无需检索整个页面即可检测到some value

即使对资源的请求必须检索全部数量,我相信服务器访问资源的速度应该比将内容交付给用户所需的速度更快——特别是如果资源位于进行检查的同一台服务器。无论如何,由于它是在 AJAX 中完成的,因此您可以隐藏选项卡并显示它们 ($("#myTabID").show()),因为轻量级的 AJAX 功能会发现可用内容。

【讨论】:

  • 听起来很有趣,但也很复杂。我目前正在考虑后端的一组选项来显示或隐藏每页的特定选项卡。不仅仅是在单击选项卡后使内容可见。 (只有通过后端显示选项卡时才能单击选项卡)
  • @SailesHardt;你应该做任何你认为最好的和你愿意维护的事情。如果您有时间试验和了解 AJAX 请求,您会发现没有它们就难以生存。
猜你喜欢
  • 2016-11-17
  • 1970-01-01
  • 1970-01-01
  • 2021-12-05
  • 2022-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多