AngularJs中锚点的使用,及锚点偏移量设置

AngularJs中关于锚点的使用,及锚点偏移量设置
有很多人在使用ng-view时都用到了#号做route,所以如果在页面上需要用到锚点的时候就会比较头疼了。这个时候可以使用ng的anchorScroll。
使用了ng的anchorScroll后确实可以达到锚点跳转的作用了,但是问题又来了,我如果页面有一个标题栏这个锚点的跳转就不准确了,此时则需要设置偏移量了。

使用函数:
$anchorScroll([hash]);

Param Type Details
hash (optional) string The hash specifying the element to scroll to. If omitted, the value of $location.hash() will be used.

如果设置,指定一个垂直滚动偏移。这通常是有用的,当有在页面的顶部有“fixed”定位的元素,如导航栏,标题等

yOffset 可以以各种方式来指定:

  • number: 要用作偏移像素的固定数量。

  • function: 每次$anchorScroll() 函数执行完毕,必定返回一个数字,代表偏移量(以像素为单位)。

  • jqLite: 一个jqLite/ jQuery的元素用于指定偏移量。从页面的元素的顶部到底部的距离将被用作偏移。

    Note: 该元素只要其position被设置为fixed。当响应导航栏/头,根据视口大小调整高度和/或定位时,使用此选项很有用。

为了 yOffset正常工作,滚动应写在文档的根而不是一些子元素。

示例代码:

angular.module('myApp', ['ngRoute'])
    .run(['$anchorScroll', function($anchorScroll) {
   
        $anchorScroll.yOffset = 50;   
        // 默认向下便宜50px
        // 在此处配置偏移量
    }])

    .controller('View1Ctrl', ['$scope', '$location', '$anchorScroll', function 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值