最近在做XX项目的大屏展示页面,有一个表格需要用到这个滚动效果,于是就写了个指令,记录下,共同学习。

Html代码:

<td word-roll tword="item">
      <div class="scroll_div fl">
          <div class="scroll_begin" ng-bind="item.project"></div>
          <div class="scroll_end"></div>
      </div>
</td>

样式代码:

.analysis .scroll_div {
            height: 26px;
            overflow: hidden;
            white-space: nowrap;
            width: 105px;
            margin-left: 10px;
        }

.analysis .scroll_begin,  .analysis .scroll_end {
            display: inline;
        }

指令Js代码:

define([ 'angular'], function() {
    var commonDirectives = angular.module("commonDirectives", []);
    //文字滚动
    commonDirectives.directive('wordRoll', [function() {
            return {
                restrict: 'AE',
                scope:{
                    tword:'='
                },
                link: function(scope, ele, attr) {
                    function ScrollImgLeft() {
                        var speed = 50;
                        var MyMar = null;
                        var $begin = $(ele).find("div");
                        var scroll_begin = $begin.eq(1)[0];
                        var scroll_end = $begin.eq(2)[0];
                        var scroll_div = $begin.eq(0)[0];
                        if(scroll_begin.offsetWidth > scroll_div.offsetWidth){
                            scroll_end.innerHTML = scroll_begin.innerHTML;
                        }
                        function Marquee() {
                            if (scroll_end.offsetWidth - scroll_div.scrollLeft <= 0) {
                                scroll_div.scrollLeft -= scroll_begin.offsetWidth;
                            }else {
                                scroll_div.scrollLeft++;
                            }
                        }
                        MyMar = setInterval(Marquee, speed);
                        scroll_div.onmouseover = function () { 
                            clearInterval(MyMar);     
                        }    
                        scroll_div.onmouseout = function () {       
                            MyMar = setInterval(Marquee, speed);         
                        }
                    }
                    scope.$watch('tword',function(o,n){
                        ScrollImgLeft();
                    })

                }
            }
        }])
})

沟通请加扣扣:740482406.

结构-行为-样式-angularJs 指令实现滚动文字的更多相关文章

  1. 结构-行为-样式-angularJs 指令解决IE下无PlaceHolder的问题

    最近项目开发的时候遇到一个头疼的问题,在测试IE兼容性的时候,发现placeholder在IE下无效.查网上说也是有各种解决方案,但是都不是我想要的,于是决定自己写一个.思路:placeHolder是 ...

  2. 结构-行为-样式-angularJs笔记

    0.关于Ng-app   通过ngApp指令来引导Angularjs应用是一种简洁的方式 ,适合大多数情况.在高级开发中,例如使用脚本装载应用,您也可以使用Bootstrap手动引导AngularJs ...

  3. 结构-行为-样式 - Angularjs 环境下Ztree结合JqueryUI实现拖拽

    新的项目中有一个需求是要求客户标签可以自定义,于是就想到了客户体验,让客户自己拖拽标签进行组合查询.但是理想很丰满,现实很骨感.一开始就遇到了问题,各个插件之间的结合问题,折腾一翻之后终于实现了这个功 ...

  4. 结构-行为-样式-angularJs ngAnimate(Js实现)

    声明 页面 Js 注意事项 官方链接 一.声明 注意animate的版本要与Angular的一致. <script src="jquery.1.9.1.min.js"> ...

  5. AngularJS 指令解析(二)

    AngularJS 指令解析(二) 第一篇我们讲过了作用域(scope)这块内容,现在我们进入正题,讲AngularJS的指令. 什么是指令? 这里我们引用官方的一句话: Custom directi ...

  6. angularjs指令(二)

    最近学习了下angularjs指令的相关知识,也参考了前人的一些文章,在此总结下. 欢迎批评指出错误的地方.   Angularjs指令定义的API AngularJs的指令定义大致如下 angula ...

  7. angularJs指令执行的机制==大概的三个阶段

    第一阶段:加载阶段 angularJs要运行的话,需要去等待angular.js加载完成,加载完之后呢,angular就会去查找到ng-app这个指令,ng-app在每个应用里面只能出现一次, 它也就 ...

  8. AngularJs指令(一)

    AngularJs应用现在越来越流行了,谷歌都与微软合作支持AngularJS2.0,这是要逆天了,说明AngularJs将来大势所趋.最近想跳槽,又重新拾起了AngluarJs(之前由于缺少项目应用 ...

  9. AngularJS指令进阶 – ngModelController详解

    AngularJS指令进阶 – ngModelController详解 在自定义Angular指令时,其中有一个叫做require的字段,这个字段的作用是用于指令之间的相互交流.举个简单的例子,假如我 ...

随机推荐

  1. Spring IOC之容器扩展点

    一般来说,一个应用开发者不需要继承ApplicationContext实现类.取而代之的是,Spring IoC容器可以通过插入特殊的整合接口的实现来进行扩展.下面的几点将要讲述这些整合的接口. 1. ...

  2. 多数据库下activiti的流程定义缓存问题

    我们使用activiti(5.14版本号)作为流程引擎,今天在产品中发现一个问题,某流程的审批记录中, 活动实例表中记录的活动名称(ACT_HI_ACTINST表的ACT_NAME)居然是该流程中不存 ...

  3. Android 使用Gson解析json案例具体解释

    一.眼下解析json有三种工具:org.json(Java经常使用的解析),fastjson(阿里巴巴project师开发的),Gson(Google官网出的),解析速度最快的是Gson,下载地址:h ...

  4. Scala开发环境搭建与资源推荐

    Scala开发环境搭建与资源推荐 本文介绍了Scala的开发环境,包括SDK.IDE的设置.常用资源列表等.Scala是一门静态语言,很有可能就是Java的继承者. AD: 2014WOT全球软件技术 ...

  5. 经典的SQL语句面试题

    Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题 ...

  6. PHP中将内容循环出来

    首先连接数据库: $myDate= @mysql_connect("localhost","root","") or die("数 ...

  7. DataGridView的使用和批量修改

    DataGridView的属性:AllowUserToAddRows:如果为true允许用户添加行,false不允许用户添加行ReadOnly:true表示只读.不能修改单元格中的值,false可以对 ...

  8. C#集合基础与运用

    C#集合基础与运用   C#集合基础与运用 1. 集合接口与集合类型............................................... 1 (1) 集合的命名空间..... ...

  9. Step one : 熟悉Unix/Linux Shell 常见命令行 (一)

    1.文件系统结构和基本操作 ls  - - list directory contents -a/A 列出全部文件(包含隐藏文件) - i 列出inode号码 -n 查看UID and GID -d ...

  10. 搞定KMP匹配算法

    KMP算法介绍及实现——轻松搞定KMP匹配算法 本文介绍了字符串匹配算法中的BF算法和KMP算法.本文中KMP算法介绍部分是关于KMP算法相关文章中最简洁的一篇文章之一.下一篇将继续介绍Horspoo ...