Javascript 使用JS/Ajax动态获取带有锚的URL
我有一个基于锚的网站 例如,默认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
domain.com
本网站的另一部分有URLdomain.com/#section1
还有一个部分有URLdomain.com/#section2
当我试图获取webiste的完整URL时,我使用了
window.location.href
但是当我向下滚动页面时,URL变为domain.com/#section1
mywindow.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语句。您的锚更改功能在哪里?你什么时候滚动?