Javascript Href in<;a>;工作不正常

Javascript Href in<;a>;工作不正常,javascript,css,asp.net,href,Javascript,Css,Asp.net,Href,我的网页上的href有一些问题。当页面加载时,我会检查屏幕宽度,如果它足够小,我会更改标题中标签的href。下面是javascript的外观 $(function () { var hrefs = [$('#BTN_Services').attr('href'), 'http://jdcservices.ca' + '#mobileServices']; $(window).on('resize', function () { $('#BTN_Services').at

我的网页上的href有一些问题。当页面加载时,我会检查屏幕宽度,如果它足够小,我会更改标题中标签的href。下面是javascript的外观

$(function () {
    var hrefs = [$('#BTN_Services').attr('href'), 'http://jdcservices.ca' + '#mobileServices'];

    $(window).on('resize', function () {
    $('#BTN_Services').attr('href', function () {
        return hrefs[$(window).width() > 1240 ? 0 : 1];
    });
    }).trigger('resize');
}
<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>
这是将href从/Services.aspx页面更改为#mobileServices div的代码

<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>
下面是我正在更改的标题。

<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>

<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>

服务

JD&C服务公司总部位于安大略省辛顿市,为辛顿、埃德森、格兰德缓存和福克斯克里克地区提供服务。JD&C服务公司通过一支由高技能人员组成的团队不断发展和调整,以满足客户的需求。我们努力以高效、安全和对环境负责的方式开展工作,超出客户的期望。

<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>
油罐车服务
-酸性密封罐车服务
-身体工作
-崔崔的
-超级B's
*所有卡车均配备GPS跟踪硬件。

<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>
产品销售
-九广铁路销售
-粘土稳定剂
-冷热水销售
-压井液

<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>
便携式过滤装置
便携式过滤装置可供交付和租赁。各种微米过滤器可用。

<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>

因此,从谷歌chrome内部我可以检查到,href正在按预期变化,但href仍然不会将我带到正确的div。我不确定我在做什么,也许是我的CSS中阻止了它

<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>

是我正在开发的网站吗?

从您的网站上我可以看出,您正在使用JavaScript使用Ajax(带有华而不实的动画)浏览页面。我猜代码正在调用事件上的
preventDefault
,以阻止默认操作,这不是您在本例中想要的。

从您的网站上可以看出,您正在使用JavaScript使用Ajax(带有华丽的动画)浏览页面。我猜代码正在调用事件上的
preventDefault
,以阻止默认操作,这不是您在本例中想要的。

从您的网站上可以看出,您正在使用JavaScript使用Ajax(带有华丽的动画)浏览页面。我猜代码正在调用事件上的
preventDefault
,以阻止默认操作,这不是您在本例中想要的。

从您的网站上可以看出,您正在使用JavaScript使用Ajax(带有华丽的动画)浏览页面。我猜代码正在对阻止默认操作的事件调用
preventDefault
,这在本例中不是您想要的。

我不知道链接为什么不跳转到锚定位置,我尝试删除所有单击处理程序,但没有成功,但您可以通过以下方式修复:

<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>
$('#BTN_Services').off('click');
当您的页面处于移动版本时添加此选项:

<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>
$('#BTN_Services').click(function({window.location.href="#mobileServices";});
并以这种方式删除:

<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>
$('#BTN_Services').off('click');

我不知道为什么链接不会跳转到锚定位置,我尝试删除所有单击处理程序,但没有成功,但您可以通过以下方式修复:

<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>
$('#BTN_Services').off('click');
当您的页面处于移动版本时添加此选项:

<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>
$('#BTN_Services').click(function({window.location.href="#mobileServices";});
并以这种方式删除:

<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>
$('#BTN_Services').off('click');

我不知道为什么链接不会跳转到锚定位置,我尝试删除所有单击处理程序,但没有成功,但您可以通过以下方式修复:

<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>
$('#BTN_Services').off('click');
当您的页面处于移动版本时添加此选项:

<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>
$('#BTN_Services').click(function({window.location.href="#mobileServices";});
并以这种方式删除:

<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>
$('#BTN_Services').off('click');

我不知道为什么链接不会跳转到锚定位置,我尝试删除所有单击处理程序,但没有成功,但您可以通过以下方式修复:

<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>
$('#BTN_Services').off('click');
当您的页面处于移动版本时添加此选项:

<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>
$('#BTN_Services').click(function({window.location.href="#mobileServices";});
并以这种方式删除:

<a href="#" id="logo"></a>

<nav>

    <a href="#" id="menu-icon"></a>

    <ul>

        <li><a id="BTN_Home" href="/Index.aspx" class="current">HOME</a></li>
        <li><a href="/Safety.aspx">SAFETY</a></li>
        <li><a id="BTN_Services" href="/Services.aspx">SERVICES</a></li>
        <li><a href="/Careers.aspx">CAREERS</a></li>
        <li><a href="/Contact.aspx">CONTACT</a></li>

    </ul>

</nav>

</header>
$('#BTN_Services').off('click');

最好复制nav并添加一个仅通过媒体查询显示的移动类。这样,您就可以以响应性的方式进行操作,而根本不使用JS。(对不起,这对上面的问题没有帮助)哦,对不起。我会发布它,虽然它有点大。最好复制导航并添加一个只通过媒体查询显示的移动类。这样,您就可以以响应性的方式进行操作,而根本不使用JS。(对不起,这对上面的问题没有帮助)哦,对不起。我会发布它,虽然它有点大。最好复制导航并添加一个只通过媒体查询显示的移动类。这样,您就可以以响应性的方式进行操作,而根本不使用JS。(对不起,这对上面的问题没有帮助)哦,对不起。我会发布它,虽然它有点大。最好复制导航并添加一个只通过媒体查询显示的移动类。这样,您就可以以响应性的方式进行操作,而根本不使用JS。(对不起,这对上面的问题没有帮助)哦,对不起。我将发布它,虽然它有点大。我正在使用jQueryUI制作动画。你认为这会导致问题吗?我删除了jQueryUI,结果很好!非常感谢。我正在使用jqueryui制作动画。你认为这会导致问题吗?我删除了jQueryUI,结果很好!非常感谢。我正在使用jqueryui制作动画。你认为这会导致问题吗?我删除了j