滚动到 uRL 中有多个锚点的锚点,
Scroll to an Anchor with multiple anchor in uRL,
有关于 Anchor
点的问题。
我有一个 URL 像 domain.tld/sub/#point1/#point2 我也使用标签由第一个 #point1
触发。因此,如果有人打开 link,浏览器会检测该页面上的第一个选项卡,然后它需要找到第二个 #point2
,这是一个锚点,如 <div id="point2"></div>
。
但现在问题来了,因为在加载页面时无法使用多个锚点向下滚动,我必须找到其他选项。但是当然没有那么多经验。谁能帮帮我?
问候马丁
$(document).ready(function() {
goToUrl();
});
function goToUrl() {
var newUrl = document.URL;
var newUrlArr = newUrl.split("#");
var newUrlArrLength = newUrlArr.length;
if (newUrlArrLength>0) {
var last = parseInt(newUrlArrLength) -1;
var lastUrl = newUrlArr[last];
var lastItem = $("#"+lastUrl);
$('html, body').animate({
scrollTop: lastItem.offset().top
}, 1000);
}
}
好的,我将 Stavros 的答案更改为如下所示:
$(function() {
goToUrl();
function goToUrl() {
var newUrl = document.URL;
var newUrlArr = newUrl.split("?target=");
var defUrl = newUrlArr[1].slice(0, newUrlArr[1].indexOf("#"));
var newUrlArrLength = defUrl.length;
if (newUrlArrLength>0) {
var tag = $("#"+defUrl+"");
$(window).scrollTop(tag.offset().top);
}
}
});
这适合我!谢谢斯塔夫罗斯。
有关于 Anchor
点的问题。
我有一个 URL 像 domain.tld/sub/#point1/#point2 我也使用标签由第一个 #point1
触发。因此,如果有人打开 link,浏览器会检测该页面上的第一个选项卡,然后它需要找到第二个 #point2
,这是一个锚点,如 <div id="point2"></div>
。
但现在问题来了,因为在加载页面时无法使用多个锚点向下滚动,我必须找到其他选项。但是当然没有那么多经验。谁能帮帮我?
问候马丁
$(document).ready(function() {
goToUrl();
});
function goToUrl() {
var newUrl = document.URL;
var newUrlArr = newUrl.split("#");
var newUrlArrLength = newUrlArr.length;
if (newUrlArrLength>0) {
var last = parseInt(newUrlArrLength) -1;
var lastUrl = newUrlArr[last];
var lastItem = $("#"+lastUrl);
$('html, body').animate({
scrollTop: lastItem.offset().top
}, 1000);
}
}
好的,我将 Stavros 的答案更改为如下所示:
$(function() {
goToUrl();
function goToUrl() {
var newUrl = document.URL;
var newUrlArr = newUrl.split("?target=");
var defUrl = newUrlArr[1].slice(0, newUrlArr[1].indexOf("#"));
var newUrlArrLength = defUrl.length;
if (newUrlArrLength>0) {
var tag = $("#"+defUrl+"");
$(window).scrollTop(tag.offset().top);
}
}
});
这适合我!谢谢斯塔夫罗斯。