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 offsetX与layerX区别
Mar 12 Javascript
js防止DIV布局滚动时闪动的解决方法
Oct 30 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
Mar 20 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
Nov 29 Javascript
详解AngularJS中的http拦截
Feb 09 Javascript
js将table的每个td的内容自动赋值给其title属性的方法
Oct 13 Javascript
javascript学习之json入门
Dec 22 Javascript
详解js前端代码异常监控
Jan 11 Javascript
vue-cli+webpack记事本项目创建
Apr 01 Javascript
JS面向对象之多选框实现
Jan 17 Javascript
js实现登录拖拽窗口
Feb 10 Javascript
通过vue.extend实现消息提示弹框的方法记录
Jan 07 Vue.js
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 翻页 实例代码
2009/08/07 PHP
利用PHP实现智能文件类型检测的实现代码
2011/08/02 PHP
php实现统计网站在线人数的方法
2015/05/12 PHP
php数组比较实现查找连续数的方法
2015/07/29 PHP
Jquery仿淘宝京东多条件筛选可自行结合ajax加载示例
2013/08/28 Javascript
document.forms用法示例介绍
2014/06/26 Javascript
jquery单行文字向上滚动效果的实现代码
2014/09/05 Javascript
JavaScript模拟重力状态下抛物运动的方法
2015/03/03 Javascript
自定义刻度jQuery进度条及插件
2015/09/02 Javascript
js表单处理中单选、多选、选择框值的获取及表单的序列化
2016/03/08 Javascript
Bootstrap每天必学之模态框(Modal)插件
2016/04/26 Javascript
用js实现放大镜的效果的简单实例
2016/05/23 Javascript
js滚轮事件兼容性问题需要注意哪些
2016/11/15 Javascript
JS 插件dropload下拉刷新、上拉加载使用小结
2017/04/13 Javascript
JS条形码(一维码)插件JsBarcode用法详解【编码类型、参数、属性】
2017/04/19 Javascript
详解Node.js利用node-git-server快速搭建git服务器
2017/09/27 Javascript
实现div内部滚动条滚动到底部和顶部的代码
2017/11/15 Javascript
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
2018/09/14 Javascript
详解vantUI框架在vue项目中的应用踩坑
2018/12/06 Javascript
vue-cli3 DllPlugin 提取公用库的方法
2019/04/24 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
2019/11/12 Javascript
node爬取新型冠状病毒的疫情实时动态
2020/02/06 Javascript
让Django支持Sql Server作后端数据库的方法
2018/05/29 Python
python爬虫利用代理池更换IP的方法步骤
2021/02/21 Python
Booking.com西班牙:全球酒店预订
2018/03/30 全球购物
英国排名第一的LED灯泡网站:LED Bulbs
2019/09/03 全球购物
会计助理岗位职责
2014/02/17 职场文书
《寓言两则》教学反思
2014/02/27 职场文书
2014年社会实践活动总结范文
2014/04/29 职场文书
读书月活动方案
2014/05/22 职场文书
副总经理任命书
2014/06/05 职场文书
幼儿园见习报告
2014/10/30 职场文书
2015年副班长工作总结
2015/05/15 职场文书
phpQuery解析HTML乱码问题(补充官网未列出的乱码解决方案)
2021/04/01 PHP
vue backtop组件的实现完整代码
2021/04/07 Vue.js
python中os.path.join()函数实例用法
2021/05/26 Python