使用animate将标签链接锚定到不同页面上的ID
Anchor tag link to ID on different page with animate
我有两个页面的网站,我试图将第二个页面链接回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>
jquery用于链接同一页面中的div-
$(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;
}
}
});
});
使用window.location.hash
可以读取和写入哈希值。因此,在页面加载上,您基本上会执行以下操作:
$("html, body").animate({
scrollTop: $('#'+window.location.hash).offset().top
}, 1000);
window.location.hash='';
加载后无法修改URL,必须使用请求
http://api.jquery.com/focus/
尝试使用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');
只需将锚点标签与一起使用
href="my_page.html#my_anchor_name"
其将滚动到页面CCD_ 3中id等于CCD_。如果要在同一页面内进行链接,只需省略页面名称my_page.html
即可。
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- difference between '$(<%= DDL.ID %>) & $('
- 使用Javascript获取所选选项ID
- 根据id将json数组组合为一个json数组
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 对id以某个字符串开头的元素进行计数
- 如果元素's的ID以数字开头
- 通过id和class属性获取元素
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- 使用当前日期生成随机id
- Javascript-ID冲突的几率
- Href:当前DIV中的目标ID
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- Javascript复选框函数:;缺少:在属性id之后"
- Twitter引导程序Typeahead-Id&标签
- 如何与特定ID交谈
- chart.series[id].remove()无法刷新高位图表/高位股票中其他系列的图例属性
- 使用animate将标签链接锚定到不同页面上的ID
- 使用“attr”与“animate”使用节点ID更改Raphael对象
- 在 .animate 的步骤函数中单独跟踪 id 属性