gpt4 book ai didi

javascript - 如何检查当前 url 或路径是否等于某个链接,如果不等于,则在导航栏中的 href 后面附加一个正斜杠?

转载 作者:行者123 更新时间:2023-12-03 10:17:11 26 4
gpt4 key购买 nike

我是一名 JavaScript 和 jQuery 新手,在从不同页面定向页面滚动时遇到一些问题。这项工作是在 WordPress PHP 中完成的。我目前正在使用页面滚动,其中 href=#id 并将其更改为 href=/#id,其中斜杠允许正确定向。问题是我是否在主页的当前页面上。正斜杠现在是跳跃而不是页面滚动。我的想法是保留 href=#id 不带斜杠,并让它检查当前 url != 是否为 home,然后在 href 后附加一个正斜杠。真诚地感谢您的帮助!

This allows for page scroll from current page and doesn't direct from Pricing & Services page

    <li><a class="page-scroll" href="#howitworks">How It Works</a></li>

Adding the "/" allows for directing from Pricing& Services page however it jumps if I am on the homepage. I want it to jump if I am not on the homepage. I would like for it to smooth scroll on current page.

    <li><a class="page-scroll" href="/#aboutus">About Us</a></li>

Page I am directing from.

    <li><a class="page-scroll" href="pricing-services">Pricing & Services</a></li>

这是我正在使用的 javascript 代码,需要 Jquery Easing 插件

    $(function() {
$('a.page-scroll').bind('click', function(event) {
var $anchor = $(this);
$('html, body').stop().animate({
scrollTop: $($anchor.attr('href')).offset().top-50
}, 1500, 'easeInOutExpo');
event.preventDefault();
});
});

最佳答案

要获取当前网址,您可以使用window.location.pathname:

var path = window.location.pathname;
var add = '';

检查“home”是否在url中。如果没有找到任何内容,indexOf 将返回 -1。否则返回第一次出现的位置

if(path.indexOf("home") == -1){   
add = '/';
}

然后将斜杠添加到 href,如下所示:

var href = $('.page-scroll').attr('href');
$('.page-scroll').attr('href',add+href);

关于javascript - 如何检查当前 url 或路径是否等于某个链接,如果不等于,则在导航栏中的 href 后面附加一个正斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29811008/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com