AngularJS driective 封装 自动滚动插件
Posted 庞国明 博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AngularJS driective 封装 自动滚动插件相关的知识,希望对你有一定的参考价值。
1.ui-smooth-scroll.js文件内容
angular.module(\'app\') .directive(\'uiSmoothScroll\', [\'$location\', \'$anchorScroll\', function($location, $anchorScroll) { return { restrict: \'AC\', scope: { data:"=" }, template: \'<div class="smooth-scroll-container">\'+ \'<ul class="smooth-scroll">\'+ \'<li ng-repeat="item in data">\'+ \'<a href="{{item.url}}" ><img ng-src="{{item.image}}" alt="" class="img-responsive" /></a>\'+ \'</li>\'+ \'</ul>\'+ \'</div>\', link: function(scope, element, attrs) { setTimeout(function(){ var c = $(element).find(\'.smooth-scroll-container\')[0]; var ul = $(c).find(\'.smooth-scroll\')[0]; var lis = ul.getElementsByTagName(\'li\'); var itemCount = lis.length, width = lis[0].offsetWidth, marquee = function() { c.scrollLeft += 2; if (c.scrollLeft > width) { ul.appendChild(ul.getElementsByTagName(\'li\')[0]); c.scrollLeft = 0; }; }, speed = 30; ul.style.width = (width+13) * itemCount + 40 + \'px\' ; var timer = setInterval(marquee, speed); c.onmouseover = function() { clearInterval(timer); }; c.onmouseout = function() { timer = setInterval(marquee, speed); }; },100); } }; }]);
html 使用方法
<div ui-smooth-scroll data="slides">
Controller 中对 数据的绑定
$scope.slides = [{ image: \'img/qy_lunbo_01.png\' },{ image: \'img/qy_lunbo_02.png\' },{ image: \'img/qy_lunbo_03.png\' },{ image: \'img/qy_lunbo_04.png\' }];
搞定!
以上是关于AngularJS driective 封装 自动滚动插件的主要内容,如果未能解决你的问题,请参考以下文章
百度上传插件WebUploader,angularjs指令封装
angularJS 利用 service 封装 POST 请求
在 TypeScript 上优化 AngularJS 1.5.7 指令 - ...args 不起作用并且封装了 2 个类