【问题标题】:jQuery when pointed to a link should show a div that's hidden by defaultjQuery 指向链接时应显示默认隐藏的 div
【发布时间】:2011-09-07 06:13:20
【问题描述】:

我有一个页面,其中默认隐藏了一些 div。我希望能够将用户指向一个显示 div 的链接。

例如。 https://app.emailsmsmarketing.com/login

用户可以点击“注册”隐藏登录 div 并显示注册 div。我想要完成的基本上是添加一个指向主站点的链接,默认情况下用户可以从中访问注册表单(仅使用 jQuery)。

例如。 https://app.emailsmsmarketing.com/login#!register(或类似的东西)

基本上我要问的是:

a) 可以做到这一点
b) 如果是,怎么做?

我不确定这对任何人是否有意义。感谢您提供的任何帮助。

【问题讨论】:

    标签: javascript jquery html css hashchange


    【解决方案1】:

    您可以在ready 事件期间检查document.location 属性:

    $(document).ready(function() {
      if (document.location.indexOf('#login') > -1)
        $("#login").show();
    });
    

    【讨论】:

    • @Gus 哇,不知道这个功能。谢谢!
    • 出于某种原因,这对我不起作用,但 Samich 的回答确实如此。
    【解决方案2】:

    您可能正在寻找这个:Anchor-based URL navigation with jQuery

    var myUrl = document.location.toString();
    if (myUrl.match('#')) { // the URL contains an anchor
    
      var myAnchor = '#' + myUrl.split('#')[1];
      $('#login').hide();
      $('#register').show();
    }
    

    【讨论】:

      【解决方案3】:

      当然,只需在您的链接上设置一个类或 id 或其他内容,如下所示:

      <a href="#" class="register"> Register! </a>
      

      然后在 jQuery 中执行此操作

      $("a.register").click(function() { 
          $("#logindiv").hide()
          $("#registerdiv").show();
          return false; // prevents the default behavior of the link, ie following it
      });
      

      其中 registerdiv 是隐藏 div 的 ID 等。

      【讨论】:

      • 我的意思是从另一个页面。我已经实现了你的建议。
      • 我确定我理解了 - 您想从服务器加载内容,并将其显示在当前页面上?请澄清。
      • 没有。我已经有一个包含您提供的代码的页面。我想从 emailsmsmarketing.com 链接到 app.emailsmsmarketing.com/login 但我希望它显示注册 div 而不是默认登录 div。我希望我说得通。
      • 哦,现在我明白了。我认为VMAtm当时回答得很好。
      猜你喜欢
      • 2011-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-05
      • 1970-01-01
      • 2012-12-02
      相关资源
      最近更新 更多