【问题标题】:How to toggle data when access with url使用 url 访问时如何切换数据
【发布时间】:2018-09-05 10:46:22
【问题描述】:

当我在 URL 末尾添加 #ID 时如何切换?例如,当我访问像 domain.com/xxxxxx#01 这样的 URL 时,我的 div 就会显示出来。

$(document).ready(function() {
  $(".toogle_button_<?php echo $link_shs['no_e'] ?>").click(function() {
    $("#<?php echo $link_shs['no_e'] ?>").slideToggle();
  });
  if (location.hash) {
    var id = location.hash.slice(1);
    var elementToShow = $("#" + id);
    if (elementToShow.length) {
      elementToShow.slideToggle();
    }
  }
});

#01 是来自$link_shs['no_e'] 的 id。

【问题讨论】:

    标签: javascript php jquery toggle


    【解决方案1】:

    您可以使用location.hash 从 URL 中读取片段,然后使用它来选择元素。试试这个:

    if (window.location.hash) {
      $(window.location.hash).slideToggle();
    }
    

    您显然需要使其更安全,并检查 hash 是否是您想要允许的有效值,但这是要使用的一般模式。

    【讨论】:

    • 我编辑了我的代码,请看一下,它显示和隐藏3次,最后隐藏。
    • 您根本不需要slice() 电话。您删除领先的# 只是为了再次将其放回原处。此外,您显示的代码不会执行三遍。这是非常奇怪的行为,因为它应该只在每页可能发生一次的加载时运行。您可以在jsfiddle.net 中设置问题的演示吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-02
    • 1970-01-01
    • 2021-03-12
    • 1970-01-01
    • 1970-01-01
    • 2011-06-29
    相关资源
    最近更新 更多