service $anchorScroll

当调用时,根据HTML5规范中指定的规则,它会滚动到与指定的散列相关的元素(如果省略)到$location.hash()的当前值。

它还会观察 $location.hash() 和自动滚动,当它发生变化时,它会自动滚动。这可以通过调用$anchorScrollProvider.disableAutoScrolling()来禁用。

另外,您可以使用它的yOffset属性来指定垂直的滚动偏移量(固定的或动态的)。

依赖关系:

$window

$location

$rootScope

用法:

$anchorScroll([hash]);

  参数: hash:string 指定要滚动到的元素的散列。如果省略了,将使用$location.hash()的值。

属性:yOffset

  如果设置,指定一个垂直的滚动偏移。当页面顶部有固定的位置元素时,这通常很有用,例如导航栏、标题等。

  可以用不同的方式指定yOffset:

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

    function:一个名为$anchorScroll() 的getter函数每次被执行时。必须返回一个表示偏移量的数字(以像素为单位)。

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

例子:$location.hash()

index.html

<!DOCTYPE html>
<html ng-app="indexApp">
<head lang="en">
    <meta charset="UTF-8">
    <title>BookStore</title>
    <style type="text/css">
        #scrollArea {
            height: 280px;
            overflow: auto;
        }

        #bottom {
            display: block;
            margin-top: 2000px;
        }
    </style>
</head>
<body  ng-controller="firCtrl">
<div>
    <div id="scrollArea">
        <a ng-click="gotoBottom()">Go to bottom</a>
        <a id="bottom"></a> You‘re at the bottom!
    </div>
</div>
<script src="framework/angular.js"></script>
<script src="myJs/index.js"></script>
</body>
</html>

script.js

angular.module(‘indexApp‘,[])
    .controller(‘firCtrl‘,[‘$scope‘, ‘$location‘, ‘$anchorScroll‘,function($scope, $location, $anchorScroll){
        $scope.gotoBottom = function() {
            // set the location.hash to the id of
            // the element you wish to scroll to.
            $location.hash(‘bottom‘);

            // call $anchorScroll()
            $anchorScroll();
        };
}]);

下面的例子说明了scroll-offset (指定为固定值)的使用。更多细节请参照 $anchorScroll.yOffset

index.html

<!DOCTYPE html>
<html ng-app="indexApp">
<head lang="en">
    <meta charset="UTF-8">
    <title>BookStore</title>
    <style type="text/css">
        body {
            padding-top: 50px;
        }

        .anchor {
            border: 2px dashed DarkOrchid;
            padding: 10px 10px 200px 10px;
        }

        .fixed-header {
            background-color: rgba(0, 0, 0, 0.2);
            height: 50px;
            position: fixed;
            top: 0; left: 0; right: 0;
        }

        .fixed-header > a {
            display: inline-block;
            margin: 5px 15px;
        }
    </style>
</head>
<body  ng-controller="firCtrl">
<div class="fixed-header">
    <a href="" ng-click="gotoAnchor(x)" ng-repeat="x in [1,2,3,4,5]">
        Go to anchor {{x}}
    </a>
</div>
<div id="anchor{{x}}" class="anchor" ng-repeat="x in [1,2,3,4,5]">
    Anchor {{x}} of 5
</div>
<script src="framework/angular.js"></script>
<script src="myJs/index.js"></script>
</body>
</html>

script.js

angular.module(‘indexApp‘,[])
    .run([‘$anchorScroll‘, function($anchorScroll) {
        $anchorScroll.yOffset = 50;   // always scroll by 50 extra pixels
    }])
    .controller(‘firCtrl‘,[‘$scope‘, ‘$location‘, ‘$anchorScroll‘,function($scope, $location, $anchorScroll){
        $scope.gotoAnchor = function(x) {
            var newHash = ‘anchor‘ + x;
            if ($location.hash() !== newHash) {
                // set the $location.hash to `newHash` and
                // $anchorScroll will automatically scroll to it
                $location.hash(‘anchor‘ + x);
            } else {
                // call $anchorScroll() explicitly,
                // since $location.hash hasn‘t changed
                $anchorScroll();
            }
        };
}]);
时间: 2024-10-08 20:04:37

service $anchorScroll的相关文章

阿里云报错Redirecting to /bin/systemctl restart sshd.service

转:http://blog.csdn.net/caijunfen/article/details/70599138 云服务器 ECS Linux CentOS 7 下重启服务不再通过 service  操作,而是通过 systemctl 操作. 查看:systemctl status sshd.service 启动:systemctl start sshd.service 重启:systemctl restart sshd.service 自启:systemctl enable sshd.ser

How to Remove A Service Entry From Win10 Service List

.warnbanner { width: 600px; background-color: #FFEFCE } .warnbanner.border { border: 0px } .warnbanner .title { position: relative; height: 24px; line-height: 24px; background-color: #FF9900; text-align: center; vertical-align: middle } .warnbanner .

如何写一个native层的service

android的service大概有这么几种形式,Java service ,native service,或者Java层通过某种通信方式比如socket和demon交互. Java层的aidl很方便,写socket的demon方式也很好理解,native的就显得稍微麻烦一点,咱们通过一个例子来说一下,首先说我们不讲解binder的内部机制-. 我们打算写个简单的service,只提供set和get方法 1. 先写一个bin 的可执行文件 int main(int argc, char** ar

ceph升级到10.2.3 版本启动服务报错:Unknown lvalue &#39;TasksMax&#39; in section &#39;Service&#39;

#### ceph软件包升级完成,执行命令重启服务 sudo systemctl restart [email protected]"$HOSTNAME" #### 故障现象 服务可以启动,启动后显示有报错信息: Nov 23 17:14:45 ceph-6-12 systemd[1]:        [/usr/lib/systemd/system/[email protected]:18] Unknown lvalue 'TasksMax' in section 'Service'

AngularJS anchorscroll example

$anchorscroll service is used to jump to a specified element on the page $location service hash method appends hash fragments to the URL $anchorscroll() method reads the hash fragment in the URL and jumps to that element on the page yOffset property

野兽的Angular Api 学习、翻译及理解 - - $anchorScroll、$controller、$document

野兽的ng api学习 -- $anchorScroll.$controller.$document $anchorScroll 根据HTML5的规则,当调用这个函数时,它检查当前的url的hash值并且滚动到相应的元素. 监听$location.hash()并且滚动到url指定的锚点的地方.可以通过$anchorScrollProvider.disableAutoScrolling()禁用. 依赖:$window   $location   $rootScope 使用:$anchorScrol

HDU 4791 Alice&#39;s Print Service

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4791 题面: Alice's Print Service Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1596    Accepted Submission(s): 380 Problem Description Alice is pr

Android笔记二十七.Service组件入门(一).什么是Service?

转载请表明出处:http://blog.csdn.net/u012637501(嵌入式_小J的天空) 一.Service 1.Service简介 Service为Android四大组件之一,Service与Activity组件相似,都代表可执行的程序且有自己的生命周期,唯一的区别是Activity组件提供界面方便人机交互而Service只在后台运行且没有交互界面.Service是android 系统中的一种组件,它们都是从Context派生出来的,但是它不能自己运行,只能在后台运行,并且可以和其

[AngularJS] Using $anchorScroll

If you're in a scenario where you want to disable the auto scrolling, but you want to control the scrolling manually, you can use the anchorscroll service, and then just invoke that after some hash has changed. <!DOCTYPE html> <html> <head

WCF: Hosting WCF in Windows Service

1. Create a windows service project 2. Add Reference to the assembly which contains the contract and its implementation. 3. Remove the Service1.cs, add a new Windows Service class and name it to CalculatorWindowsService 4. Override OnStart and OnStop