angularjs实现文字上下无缝滚动特效代码


Posted in Javascript onSeptember 04, 2016

最近没有项目做,于是闲暇之余学习了下angularjs知识,然后写了一个文字上下无缝滚动的例子,主要写的是一个小小的指令。

css代码:

主要控制样式

<style type="text/css">
*{margin: 0px;padding: 0px;}
.slide {width: 200px;height:200px;border:1px solid #dcdcdc;margin: 0 auto;margin-top: 50px;overflow: hidden;}
.slide li {height: 49px;line-height: 49px;text-align: left;padding: 0 10px;font-size: 16px;list-style: none;border-bottom: 1px dashed #dcdcdc;cursor: pointer;}
.slide li:hover{background: #ccc;}
</style>

html代码:

<body ng-app="tip">
<div ng-controller = "TipController">
<div class="slide">
<ul class="slideUl">
<!-- 指令 -->
<slide-follow id="slide" dataset-data = "datasetData"></slide-follow>
</ul>
</div>
</div>
</body>

当然我们的代码都是基于页面中已经引入angular.js文件下来运行的
slide-follow是我们需要实现的指令 dataset-data = "datasetData" 是我们需要显示的文字js代码

<script type="text/javascript">
var app =angular.module("tip",[]);
app.controller("TipController",function($scope){
// 数据可以根据自己使用情况更换
$scope.datasetData = [
{option : "这个是第一条数据"},
{option : "这个是第二条数据"},
{option : "这个是第三条数据"},
{option : "这个是第四条数据"},
{option : "这个是第五条数据"},
{option : "这个是第六条数据"}
]
})
.directive("slideFollow",function($timeout){
return {
restrict : 'E',
replace : true,
scope : {
id : "@",
datasetData : "="
},
template : "<li ng-repeat = 'data in datasetData'>{{data.option}}</li>",
link : function(scope,elem,attrs) {
$timeout(function(){
var className = $("." + $(elem).parent()[0].className);
var i = 0,sh;
var liLength = className.children("li").length;
var liHeight = className.children("li").height() + parseInt(className.children("li").css('border-bottom-width'));
className.html(className.html() + className.html());
// 开启定时器
sh = setInterval(slide,4000);
function slide(){
if (parseInt(className.css("margin-top")) > (-liLength * liHeight)) {
i++;
className.animate({
marginTop : -liHeight * i + "px"
},"slow");
} else {
i = 0;
className.css("margin-top","0px");
}
}
// 清除定时器
className.hover(function(){
clearInterval(sh);
},function(){
clearInterval(sh);
sh = setInterval(slide,4000);
})
},0)
}
}
})
</script>

首先我们在controller中定义了需要显示的文字,接下来我们就可以开始定义指令部分。

运行效果图:

angularjs实现文字上下无缝滚动特效代码

文字上下会无缝滚动,当鼠标移入是,会清除定时器,停止滚动。

以上所述是小编给大家介绍的angularjs实现文字上下无缝滚动特效代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript 静态对象和构造函数的使用和公私问题
Mar 02 Javascript
json中换行符的处理方法示例介绍
Jun 10 Javascript
javascript数组随机排序实例分析
Jul 22 Javascript
基于javascript html5实现多文件上传
Mar 03 Javascript
javascript RegExp 使用说明
May 21 Javascript
jquery中用函数来设置css样式
Dec 22 Javascript
微信小程序 textarea 组件详解及简单实例
Jan 10 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
Sep 20 Javascript
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
Mar 09 Javascript
jQuery实现浏览器之间跳转并传递参数功能【支持中文字符】
Mar 28 jQuery
关于Angularjs中跨域设置白名单问题
Apr 17 Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
May 21 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
Sep 04 #Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
Sep 04 #Javascript
jQuery实现的自动加载页面功能示例
Sep 04 #Javascript
jQuery简单实现中间浮窗效果
Sep 04 #Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
Sep 04 #Javascript
jQuery中ScrollTo用法示例
Sep 04 #Javascript
jQuery与JS加载事件用法分析
Sep 04 #Javascript
You might like
PHP Directory 函数的详解
2013/03/07 PHP
PHP 搜索查询功能实现
2016/11/29 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
JavaScript中检测变量是否存在遇到的一些问题
2013/11/11 Javascript
jquery导航制件jquery鼠标经过变色效果示例
2013/12/05 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
2014/03/27 Javascript
Javascript基础教程之while语句
2015/01/18 Javascript
vue如何实现observer和watcher源码解析
2017/03/09 Javascript
jquery实现限制textarea输入字数的方法
2017/09/06 jQuery
vue点击input弹出带搜索键盘并监听该元素的方法
2018/08/25 Javascript
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
2018/09/25 Javascript
web页面和微信小程序页面实现瀑布流效果
2018/09/26 Javascript
微信二次分享报错invalid signature问题及解决方法
2019/04/01 Javascript
记一次用vue做的活动页的方法步骤
2019/04/11 Javascript
vue实现购物车加减
2020/05/30 Javascript
js实现鼠标滑动到某个div禁止滚动
2020/09/17 Javascript
python开发之tkinter实现图形随鼠标移动的方法
2015/11/11 Python
Python 功能和特点(新手必学)
2015/12/30 Python
解决PyCharm中光标变粗的问题
2017/08/05 Python
Python 脚本获取ES 存储容量的实例
2018/12/27 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
2019/01/04 Python
python 实现多维数组(array)排序
2020/02/28 Python
python实现俄罗斯方块游戏(改进版)
2020/03/13 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
浅析CSS3 中的 transition,transform,translate之间区别和作用
2020/03/26 HTML / CSS
VICHY薇姿英国官网:全球专业敏感肌护肤领先品牌
2017/07/04 全球购物
六道php面试题附答案
2014/06/05 面试题
数据库的约束含义
2012/09/09 面试题
小学教师培训感言
2014/02/11 职场文书
给公司的建议书范文
2014/05/13 职场文书
井冈山红色之旅感想
2014/10/07 职场文书
处级干部考察材料
2014/12/24 职场文书
优秀教师个人总结
2015/02/11 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书
分析JVM源码之Thread.interrupt系统级别线程打断
2021/06/29 Java/Android
Go调用Rust方法及外部函数接口前置
2022/06/14 Golang