【问题标题】:External URL in Nav menu not working导航菜单中的外部 URL 不起作用
【发布时间】:2015-09-12 02:11:56
【问题描述】:

我正在尝试获取一个菜单链接以重定向为 target=_blank,但它似乎不起作用。如果我将此代码放在它自己的 html 文件中,它就可以工作,但当它在我的网站上时就不行

这是我遇到问题的“示例”菜单链接。

<!-- Nav -->
  <nav id="navigation" class="animated fadeInUpBig shadow">
    <ul id="nav">
      <li class="current shadow"><a href="#section-1">Home</a></li>
      <li class="shadow"><a href="#section-2">About</a></li>
      <li class="shadow"><a href="#section-3">Services</a></li>
      <li class="shadow"><a href="#section-4">Events</a></li>
      <li><a href="http://www.google.com" target="_blank">Example</a></li>
      <li class="shadow"><a href="#section-6">Contact</a></li>
    </ul>

这是我的 JS 中提到目标的所有内容

getHash: function($link) {
            return $link.attr('href').split('#')[1];
        },

getPositions: function() {
            var self = this;
            var linkHref;
            var topPos;
            var $target;

            self.$nav.each(function() {
                linkHref = self.getHash($(this));
                $target = $('#' + linkHref);

                if($target.length) {
                    topPos = $target.offset().top;
                    self.sections[linkHref] = Math.round(topPos) - self.config.scrollOffset;

handleClick: function(e) {
            var self = this;
            var $link = $(e.currentTarget);
            var $parent = $link.parent();
            var newLoc = '#' + self.getHash($link);

【问题讨论】:

  • 任何 JavaScript,会删除 target 属性?
  • 我现在正在浏览我的 jquery.nav.js,有什么需要注意的吗?
  • 在急于深入研究代码之前,启动浏览器的开发工具并查看那里的元素。 target 那里? href 那里并没有改变?是否注册了任何事件处理程序?
  • 是整个handleClick 功能吗?看起来它正在操纵最后一行中的链接 - 你能告诉我们 getHash 函数吗?
  • 元素上的所有内容都应该在线(我可以通过右键单击并选择在新选项卡中打开来打开链接。哈哈)我对 JS 和事件处理程序不太了解,应该我调查一下?

标签: javascript html nav


【解决方案1】:

快速搜索这些函数名称让我相信您使用的是jQuery-One-Page-Nav - 这意味着导航只有内部链接的单页网站。
根据 jQuery-One-Page-Nav 的自述文件,您需要在链接中添加一个名为“external”的类才能使外部页面链接起作用:

<li><a href="http://google.com" class="external">Some other link</a></li>

将其弹出到新标签应该是一个简单的调整:

<li><a href="http://www.google.com" class="external" target="_blank">Example</a></li>

【讨论】:

  • Jen,你是我眼中这个星球上最伟大的人。 (不敢相信答案这么简单。我不会再犯的错误)谢谢!
  • 很高兴能帮上忙!如果您觉得我的回答对您有用,请随时接受。 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-16
  • 2018-09-02
相关资源
最近更新 更多