Javascript 使用JS/Ajax动态获取带有锚的URL

Javascript 使用JS/Ajax动态获取带有锚的URL,javascript,jquery,ajax,anchor,window.location,Javascript,Jquery,Ajax,Anchor,Window.location,我有一个基于锚的网站 例如,默认URL为domain.com 本网站的另一部分有URLdomain.com/#section1 还有一个部分有URLdomain.com/#section2 当我试图获取webiste的完整URL时,我使用了 window.location.href 但是当我向下滚动页面时,URL变为domain.com/#section1mywindow.location.href没有改变 我的JS: $anchor = window.location.hash; i

我有一个基于锚的网站

例如,默认URL为
domain.com

本网站的另一部分有URL
domain.com/#section1

还有一个部分有URL
domain.com/#section2

当我试图获取webiste的完整URL时,我使用了

window.location.href

但是当我向下滚动页面时,URL变为
domain.com/#section1
my
window.location.href
没有改变

我的JS:

$anchor = window.location.hash;

    if($anchor == "#kraftwerk-82"){
        $(".starting-logo.default-logo").attr("src","/logo_main.png");
        $(".starting-logo.default-logo").attr("srcset","/logo_main.png 1x, /retina_logo.png 2x");
    }else{
        $(".starting-logo.default-logo").attr("src","/logo_main_white.png");
        $(".starting-logo.default-logo").attr("srcset","/logo_main_white.png 1x, /retina_logo_white.png 2x");
    }

如何使用JS动态获取带有右锚的URL?

您可以使用
window.location.hash
仅获取哈希标记:

yourHash = window.location.hash.substring(1)
更新

if(window.location.hash){
    console.log(window.location.href + window.location.hash);
}else{
    console.log(window.location.href);
}
更新II

滚动时,需要更改哈希。例如:

var anchor_top = $('a[href="#kraftwerk-82"]').offset().top;

$(window).on('scroll', function() {
    if ( $(window).scrollTop() > anchor_top ) {
        window.location.hash = '#kraftwerk-82';
    }
});
在调用的函数上,您现在可以检查哈希值:

Function track(){
    $anchor = window.location.hash;
    if($anchor == "#kraftwerk-82"){
        $(".starting-logo.default-logo").attr("src","/logo_main.png");
        $(".starting-logo.default-logo").attr("srcset","/logo_main.png 1x, /retina_logo.png 2x");
    }else{
        $(".starting-logo.default-logo").attr("src","/logo_main_white.png");
        $(".starting-logo.default-logo").attr("srcset","/logo_main_white.png 1x, /retina_logo_white.png 2x");
    }
}

对不起,我的问题不清楚。我的意思是,我想有一个功能,将动态显示我的网站的完整网址时,我向下滚动。例如,我做了一个
console.log
并得到了-
domain.com
。当我向下滚动到另一个部分时,我的
console.log
将动态返回我的
domain.com/#section1
。您可以检测哈希标记是否存在并创建您的url。当我向下滚动控制台时,尝试更新。日志仍然显示第一个锚点。它不会动态显示其他锚点…请通过javascript查看您在发布文章中尝试的内容。我添加了我的JS代码。因此,我想更改#kraftwerk-82锚上的徽标颜色,但其他锚应具有默认颜色。是否使用jQuery?是的。在得到正确的href后,我将其用于if语句。您的锚更改功能在哪里?你什么时候滚动?