之前的分页代码指令化在线下测试没有问题,到服务器上就不运行了,所以那个先放一放。

  今天来把“回到顶部”按钮指令化。首先是页面html:

    <!--回弹按钮-->
<back-button></back-button>

  指令的单词在html中使用横杠分隔,而在js代码中使用驼峰法,没毛病,简单不解释:

/*  回弹按钮指令
* */
app.directive('backButton', function() {
return {
restrict: 'E',
template: '<button id="back-button">' +
'<img src="./img/icon_top.png"/>' +
'</button>',
replace: true,
//功能
compile: function (elem, attr) {
elem.bind('click', function () {
$('html,body').animate({scrollTop:0}, 300);
});
//窗口
$(window).scroll(function() {
var toTop = $(window).scrollTop();
if( toTop > 50) {
elem.fadeIn(100);
} else {
elem.fadeOut(200);
}
});
}
}
});

  值得注意到是,网上的教程的dom绑定是在link中实现,其实这是不好的。angular应用在启动后会经历两个阶段,一个是编译compile,一个是链接link。编译阶段会遍历整个HTML文档,编译各个指令和模板,一旦编译阶段完成,便会调用编译函数,编译函数的参数包含有访问指令声明所在的元素(tElemente)及该元素其他属性(tAttrs)的方法。如果设置了compile函数,说明我们希望在指令和实时数据被放到DOM中之前进行DOM操作,在这个函数中进行诸如添加和删除节点等DOM操作是安全的。

  DOM事件监听器的注册:这个操作应该在link函数中完成。注意:compile和link选项是互斥的。如果同时设置了这两个选项,那么会把compile所返回的函数当作链接函数,而link选项本身则会被忽略。就如上述代码中返回的就是link函数。

Angular回到顶部按钮指令的更多相关文章

  1. 简单地做一下“回到顶部”按钮,用jQuery实现其隐藏和显示

    1.首先,我们要准备HTML代码: <div id="return-top"> <a href="#top">返回顶部</a> ...

  2. HTML元素跟随鼠标一起移动,网页中回到顶部按钮的实现

    对象跟随鼠标: 1.对象css设置绝对定位position: absolute; 2.获取鼠标坐标: 3.通过鼠标坐标计算出对象坐标位置,并设置为css定位的位置: document.onmousem ...

  3. 通过HTML+CSS+Javascript实现向下滚动滚动条出现导航栏并出现回到顶部按钮点击按钮回到顶部(一)

    回到顶部实例一 效果:默认隐藏导航栏,当滚动条滚到超过300px后导航栏和按钮出现,点击回到顶部按钮回到顶部,并隐藏导航栏和按钮(导航栏和按钮都是固定定位) <!doctype html> ...

  4. Vue+element UI实现“回到顶部”按钮组件

    介绍 这是一个可以快速回到页面顶部的组件,当用户浏览到页面底部的时候,通过点击按钮,可快速回到页面顶部. 使用方法 由于该组件是基于element-UI进行二次封装的,所以在使用该组件时请务必安装el ...

  5. octopress添加回到顶部按钮

    准备回到顶部的png图片一枚,可以随自己喜好google.分享我的 取名top.png,保存在octopress/source/images/top.png octopress/source/_inc ...

  6. html css jquery 回到顶部按钮

    今天做了个回到顶部的功能,在这里记录一下,有需要可以拿去试试! CSS部分,很简单就一个class /*回到顶部*/ .back-top { position: fixed; right: 15px; ...

  7. jQuery实现“回到顶部”按钮功能

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 微信小程序中两种回到顶部按钮的效果实现

    一,使用view形式的回到顶部HTML: <image src='../../img/button-top.png' class='goTop' hidden='{{!floorstatus}} ...

  9. back to top 回到顶部按钮 css+js

    效果 html <p id="back-to-top"><a href="#top"><span></span> ...

随机推荐

  1. (25)IO流之转换流InputStreamReader和OutputStreamWriter

    InputStreamReader:字节到字符的桥梁. OutputStreamWriter:字符到字节的桥梁. 它们有转换作用,而本身又是字符流.所以在构造的时候,需要传入字节流对象进来. 构造函数 ...

  2. 使用CEF(CEFGLUE)作为您的客户端UI(一)

    背景: 本人是一名C#开发者,而作为C#开发者,做客户端应用中最头痛的一件事就是没有一个好的UI解决方案.WinFrom嘛,效率虽然还不错,但是做一些特殊的效果,完全应付不来,比如透明控件.比FPS太 ...

  3. win10+vs2010+cuda7.5安装及配置

    http://blog.csdn.net/u011821462/article/details/50145221 这篇博客已经写得很详细了.

  4. (解决方法)Android studio 运行时报错Do you want to uninstall the existing application?的解决方法

    在Android studio中,有时运行会报错: WARNING: Uninstalling will remove the application data!Do you want to unin ...

  5. virtualenv 安装不同版本的虚拟环境的办法

    废话不多说直接上代码 virtualenv -p C:\Python27\python2.exe env 上面的*.exe是你要使用的python版本的exe文件的绝对路径. 官方文档参考:http: ...

  6. java数组、java.lang.String、java.util.Arrays、java.lang.Object的toString()方法和equals()方法详解

    public class Test { public static void main(String[] args) { int[] a = {1, 2, 4, 6}; int[] b = a; in ...

  7. javaWEB与Session

    HttpSession(*****)1. HttpSession概述  * HttpSession是由JavaWeb提供的,用来会话跟踪的类.session是服务器端对象,保存在服务器端!!!  * ...

  8. 测试开发Python培训:抓取新浪微博评论提取目标数据-技术篇

    测试开发Python培训:抓取新浪微博评论提取目标数据-技术篇   在前面我分享了几个新浪微博的自动化脚本的实现,下面我们继续实现新的需求,功能需求如下: 1,登陆微博 2,抓取评论页内容3,用正则表 ...

  9. Thread 与 Runnable 混合使用测试

    package com.dava; public class TesThread extends Thread implements Runnable { public void run() { Sy ...

  10. grep的用法笔记

    1.grep搜索不保护字符串的命令格式如下: #带-v参数 jevan@df ~ grep "agc" -vRn ./