您的位置:首页 > Web前端 > JavaScript

js实现左树在当前页面不同位置跳转

2016-01-19 17:23 513 查看
利用js实现页面内部跳转到指定位置的方法,类似于a标签的锚效果,先介绍一下所用到的基本方法:

1.offset()

offset() 方法返回或设置匹配元素相对于文档的偏移(位置)。

回第一个匹配元素的偏移坐标。

该方法返回的对象包含两个整型属性:top 和 left,以像素计。此方法只对可见元素有效。

语法

$(selector).offset()

设置偏移坐标

设置所有匹配元素的偏移坐标。

语法

$(selector).offset(value)

参数描述
value必需。规定以像素计的 top 和 left 坐标。

可能的值:

值对,比如 {top:100,left:0}
带有 top 和 left 属性的对象
2.scrollTop()

scrollTop() 方法返回或设置匹配元素的滚动条的垂直位置。

如果该方法未设置参数,则返回以像素计的相对滚动条顶部的偏移。

语法

$(selector).scrollTop(offset)

参数描述
offset可选。规定相对滚动条顶部的偏移,以像素计。

提示和注释

注释:该方法对于可见元素和不可见元素均有效。
注释:当用于获取值时,该方法只返回第一个匹配元素的 scroll top offset。
注释:当用于设置值时,该方法设置所有匹配元素的 scroll top offset。

实现方法:

1.将a链接的地址设置成对应跳转位置的div的id;

2.获取该链接的href存储到变量中。

3.通过id选择器找到该元素,并获得其相对于文档的偏移(上偏移量);

4.将上偏移量赋值给body元素的scrollTop()。

上代码:

<li class="menu">
     <a href="#桌面">
            <img src="__PUBLIC__/display/img/desktop_icon.png"/>
            <span>桌面</span>
    </a>
 </li>
$(".menu li").on("click", function(){

var domId=$($(this).children('a').attr('href')),
      scrollHeight=domId.offset().top;
      $('body').scrollTop(scrollHeight);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息