【问题标题】:Show/ Hide div based on url根据 url 显示/隐藏 div
【发布时间】:2015-12-21 04:12:45
【问题描述】:

当当前网址为 www.mysite.com/#home 时,我正在尝试使用以下代码隐藏 div class="axiosnext-arrow":

<script language="text/javascript">
    jQuery(document).ready(function($) { 
        $(function(){
            if (window.location.search == "#home") {
                $('.axiosnext-arrow').hide();
            } else {
                $('#navleft').show();
            }
        });
    });
</script>     

【问题讨论】:

  • 什么是意外行为?
  • @WillP。 div 不会消失
  • 我不相信你需要函数定义中的$参数,它应该已经存在于窗口级别
  • @user38208 请确保window.location.search 正在返回#home。我想它正在返回home,不确定

标签: javascript jquery html


【解决方案1】:

请试试这个:

jQuery(document).ready(function($) { 
    $(function(){
        if (window.location.hash == "#home") {
            $('.axiosnext-arrow').hide();
        } else {
            $('#navleft').show();
        }
    });
});

【讨论】:

    【解决方案2】:
       $(function(){
            if (window.location.hash == "#home") {
                $('.axiosnext-arrow').hide();
            } else {
                $('#navleft').show();
            }
        });
    

    您不需要jQuery(document).ready(function($) {$(function(){。他们做同样的事情。 $(function() {是简写版,见Here.

    【讨论】:

      【解决方案3】:

      您可以使用 window.location.pathname 或 window.location.href 而不是使用 window.location.search,然后只搜索您的 #home 子字符串。

      这就是我的答案的来源: Get current URL in JavaScript?

      【讨论】:

      • 如果使用window.location.search.. 无法实现这一点,那将很有帮助。
      • @RayonDabre 我尝试使用 window.location.search 但它不会引入#home,只会引入任何参数。这就是为什么我建议使用.href。我实际上只是尝试使用.pathname,它不会返回#home。只有当我尝试 .href 时,它才抓住了#home。
      猜你喜欢
      • 1970-01-01
      • 2021-02-27
      • 1970-01-01
      • 1970-01-01
      • 2017-01-31
      • 2013-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多