使用 JS/Ajax 动态获取带有锚点的 URL
Dynamically get URL with anchors using JS/Ajax
我有一个基于锚点的网站。
例如。默认 URL 是 domain.com
.
本网站的另一个部分有 URL domain.com/#section1
。
还有一个部分有 URL domain.com/#section2
。
当我试图获取完整的 URL 网站时,我使用了
window.location.href
但是当我向下滚动页面时 URL 变为 domain.com/#section1
我的 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);
}
更新二
滚动时需要更改散列。示例:
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");
}
}
我有一个基于锚点的网站。
例如。默认 URL 是 domain.com
.
本网站的另一个部分有 URL domain.com/#section1
。
还有一个部分有 URL domain.com/#section2
。
当我试图获取完整的 URL 网站时,我使用了
window.location.href
但是当我向下滚动页面时 URL 变为 domain.com/#section1
我的 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);
}
更新二
滚动时需要更改散列。示例:
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");
}
}