我有2页网站,我试图将第二页链接回第一页,其中div正在尝试使用。
<li class="menuitem">
<a href="index.html#services">Go Back</a>
</li>
它转到带有id标记服务的div,并在地址栏上留下id标记。
我试图将它设置为动画并从地址栏中删除id标记。
这就是第1页的样子 -
<div id="home"></div>
<div id="about"></div>
<div id="gallery"></div>
<div id="services"></div>
<div id="contact"></div>
用于在同一页面中链接div的jquery -
$(function() {
$('a[href*=#]:not([href=#])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
});
答案 0 :(得分:1)
使用window.location.hash
,您可以读取和写入哈希值。因此,在页面加载时,您基本上可以执行以下操作:
$("html, body").animate({
scrollTop: $('#'+window.location.hash).offset().top
}, 1000);
window.location.hash='';
答案 1 :(得分:0)
加载后您无法修改网址,您必须使用您的请求
尝试使用cookie存储,然后使用jquery,您可以专注于那个
或使用javscript
window.onload=getloaded();
function getloaded() {
var g=document.URL ;
if(g.indexOf('services')!=-1) {
// focus on services
}
}
或者像这样
$('html,body').animate({scrollTop:$("#your element").offset().top},'slow');
答案 2 :(得分:0)
只需使用
锚标记即可href="my_page.html#my_anchor_name"
如果页面属于同一个域,它将滚动到页面my_anchor_name
中id等于my_page.html
的任何html元素。
如果您想在同一页面中进行链接,只需省略页面名称my_page.html
。