[英]Javascript onclick window.location for page anchors?
So SOF, 所以SOF
I've got a little problem where I don't want #BOT
to appear in my url when I click my links when using page anchors. 我有一个小问题,当我使用页面锚点单击链接时,我不希望
#BOT
出现在我的URL中。
$("a.bottom").click(function() {
window.location = '#BOT';
});
<a class="bottom" href="javascript: void(0);">BOTTOM</a>
<a href="#BOT">BOTTOM</a>
<a id="KEY"></a>
How do I stop it adding #BOT
in the pageurl bar? 如何停止在pageurl栏中添加
#BOT
?
The jQuery scrollTo plugin is very good at this. jQuery scrollTo插件非常擅长于此。 It will scroll your window to an element without using anchors:
它将不使用锚点将窗口滚动到元素:
$("a.bottom").click(function() {
$.scrollTo($("a[name='#BOT']"));
});
Would be good to make the functionality more generic too: 也可以使功能更加通用:
jQuery jQuery的
$("a.scrollable").click(function() {
$.scrollTo($("#"+$(this).data("scrollto")));
});
HTML 的HTML
<a class="scrollable" data-scrollto="BOT">BOTTOM</a>
<a id="BOT"></a>
<a class="scrollable" data-scrollto="KEY">BOTTOM</a>
<a id="KEY"></a>
This can be done using jQuery offset and animate as discussed in this question 如本问题所述,可以使用jQuery偏移量和动画来完成此操作
function scrollToAnchor(aid) {
var aTag = $("a[id='" + aid + "']");
$('html,body').animate({
scrollTop: aTag.offset().top
}, 'slow');
}
$("a.bottom").click(function () {
scrollToAnchor('BOT');
});
You can scroll the page by using window.scrollTo(x,y)
method. 您可以使用
window.scrollTo(x,y)
方法滚动页面。 Which does not need page to be refreshed. 不需要刷新页面。
for example: 例如:
$("a.bottom").click(function() {
scrollTo(0,100);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.