我有这样的事情:
<a name="position">Position</a>
<a href="#position">Go to target position</a>
通过使用jquery,是否可以通过某种方式,当点击锚点时它跟在链接之后但是不在URL地址上放置“#position”?
我在点击主播时尝试了e.preventDefault()
,但是在链接后停止了!
答案 0 :(得分:1)
我认为之前已经解决了这个问题:
How to remove the hash from window.location with JavaScript without page refresh?唯一的区别是你必须做window.location.href =(无论上述结果如何)。
答案 1 :(得分:1)
看看是否有效: http://jsfiddle.net/uzpcV/25/
提取“#id” 滚动到该位置 然后取消我们原来的点击功能
$(document).ready(function() {
function addClick(anchor,theUrl,i){
anchor.click(function() {
var whereToGo = theUrl.substr(theLocation);
$('html, body').animate({
scrollTop: $(eval('"' + whereToGo + '"')).offset().top
}, 333);
//hold it right there
return false;
});
}
var allTheLinks = $("a");
var linksLength = allTheLinks.length;
//go through all the links
for (var i = 0; i < linksLength; i++) {
var theLink = allTheLinks.eq(i);
var theUrl = theLink.attr("href");
var theLocation = theUrl.indexOf("#");
//check for #
if (theLocation > -1) {
addClick(theLink,theUrl,i)
}
}
});