当前位置: 首页 > 编程笔记 >

angularJS 指令封装回到顶部示例详解

谢和颂
2023-03-14
本文向大家介绍angularJS 指令封装回到顶部示例详解,包括了angularJS 指令封装回到顶部示例详解的使用技巧和注意事项,需要的朋友参考一下

关于angularJS如何回到顶部,还是直接code吧!

1.构建指令,使用registerDirective构建指令添加到内部的hasDirectives对象内,以方便后面在全局查找指令的时候进行匹配。

/** 
**回到顶部 
**/ 
 
define(["app"], function (app) { 
   
  app().registerDirective("backToTop", function () { 
    return { 
      restrict: "E", 
      link: function (scope, element, attr) { 
        var e = $(element); 
        $(window).scroll(function () {         //滚动时触发 
          if ($(document).scrollTop() > 300)     //获取滚动条到顶部的垂直高度,到相对顶部300px高度显示 
            e.fadeIn(300) 
          else 
            e.fadeOut(200); 
        }); 
        /*点击回到顶部*/ 
        e.click(function () { 
          $('html, body').animate({         //添加animate动画效果 
            scrollTop: 0 
          }, 500); 
        }); 
      } 
    }; 
  }); 
}); 

注:

registerDirective 是$CompileProvider的方法,主要就是把内建指令添加到内部的hasDirectives对象内,以方便后面在全局查找指令的时候进行匹配。

指令从html的角度,可以认为指令名字是一个标识符,可以作为元素名(E),元素属性(A),注释(M),类名(C)出现在html中;而从JavaScript的角度,则可以认为是返回的一个规范化的有特殊意义的指令对象。

link函数创建可以操作dom的指令,签名如下:

link:function(scope,element,attrs){}; 

scope在其内部作用域注册监听器的作用域。

element代表实例元素,指使用此指令的元素。在postLink函数中我们应该只操作此 元素的子元素,因为子元素已经被链接过了。

attrs 代表实例属性,是一个由定义在元素上的属性组成的标准化列表,可以在所有指 令的链接函数间共享。会以JavaScript对象的形式进行传递。 2. 将定义的 backToTop 指令对象在页面调用。

2.在页面调用backToTop指令

<back-to-top class="back_top" title="返回顶部">
<i class="fa fa-angle-up"></i>
</back-to-top> 

注:

restrict - EACM的子集的字符串,它限制directive为指定的声明方式。如果省略的话,directive将仅仅允许通过属性声明:

E - 元素名称: <back-to-top></back-to-top>

A - 属性名: <div back-to-top</div>

C - class名: <div class=”back-to-top”></div>

M - 注释 : <!-- back-to-top -->

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍AngularJS指令详解及示例代码,包括了AngularJS指令详解及示例代码的使用技巧和注意事项,需要的朋友参考一下 AngularJS指令用于扩展HTML。这些都是先从ng- 前缀的特殊属性。我们将讨论以下指令: ng-app - 该指令启动一个AngularJS应用。 ng-init - 该指令初始化应用程序数据。 ng-model - 此指令定义的模型,该模型是变量在Ang

  • 问题内容: 在完成了一个Web组件项目之后,我将回到AngularJS。我为指令找不到保持其CSS内部(或封装)的正确方法而感到沮丧。 对于Web组件,我没有这个问题,因为已经可以在模板中嵌入样式标签。 AngularJS指令不是这种情况。 到这里为止,我看到的是: 1)在外部文件:my-directive {color:red;}中定义CSS规则,但这不是封装。 2)使用element.css(

  • 问题内容: 我想通过标签上的参数将调用发送回指令,然后在指令内部适当时调用该方法。例如,当单击按钮时,调用父控制器上的方法。 我有一个简单的问题,它无法正常工作 html文件: javascript文件: 问题答案: 棘手的棘手角度,在HTML中声明参数时,需要使用蛇形大小写而不是驼峰形匹配。 作品: 不起作用:

  • 本文向大家介绍AngularJS基础 ng-include 指令示例讲解,包括了AngularJS基础 ng-include 指令示例讲解的使用技巧和注意事项,需要的朋友参考一下 AngularJS ng-include 指令 AngularJS 实例 包含 HTML 文件: 运行结果:                myFile.htm 文件标题                这个文本来自被包含

  • 本文向大家介绍AngularJS基础 ng-class-odd 指令示例,包括了AngularJS基础 ng-class-odd 指令示例的使用技巧和注意事项,需要的朋友参考一下 AngularJS ng-class-odd 指令 AngularJS 实例 为表格的奇数行设置 class="striped": 运行结果: Alfreds Futterkiste Germany Berglunds

  • 返回页面顶部的操作按钮 基础用法 滑动页面即可看到右下方的按钮。 demo <template> Scroll down to see the bottom-right button. <el-backtop target=".page-component__scroll .el-scrollbar__wrap"></el-backtop> </template> 自定义显示内容 显示区