移动端Ionic App 资讯上下循环滚动的实现代码(跑马灯效果)


Posted in Javascript onAugust 29, 2017

在ionic App中遇到一个文字上下循环滚动的效果实现,网上查了之后才知道有个通俗的名字-跑马灯。

这里借助了jQuery库的选择器和动画函数,并且把jquery的操作封装到指令里。先看指令代码:

angular.module('starter') 
  .directive('slideScroll', function ($window, $timeout) { 
    return { 
      restrict: 'AE', 
      link: function (scope, element, attr) { 
        var _scrollHeight = 40; 
        var _newsLen = 3; 
        var index = 0; 
        setInterval(function () { 
          index += 1; 
          if (index > _newsLen) { 
            index = 0; 
            $(".news-right ul").css({ 
              top: 0 
            }) 
          } else { 
            $(".news-right ul").animate({ 
              top: -_scrollHeight * index - 10 * index 
            }, 500); 
          } 
        }, 2000) 
      } 
    }; 
  });

滚动的高度scrollHeight设置为40px,三组文字newsLen循环,每组两行文字。每隔2000ms,ul列表向上移动固定距离,top值为(_scrollHeight + 10)* index 的长度。

Html 代码是这样的:

<div class="news-right" ui-sref="newsList"> 
   <ul slide-scroll> 
      <li class="news-box" ng-repeat="row in dataArr"> 
        <p ng-repeat="item in row">{{item.title.length <= 19 ? item.title : item.title.slice(0, 19) + '...'}}</p> 
      </li> 
      <li> 
         <p ng-repeat="item1 in dataArr[0]">{{item1.title.length <= 19 ? item1.title : item1.title.slice(0, 19) + '...'}}</p> 
      </li> 
   </ul> 
</div>

这里对文字做了简单的处理,字符串超过19,会以“...”的形式显示。

Css 样式表是这样的:

.news-right { 
  position: absolute; 
  height: 40px; 
  left: 100px; 
  top: 10px; 
  right: 0; 
  color: rgb(65, 65, 65); 
  overflow: hidden; 
}  
.news-right ul{ 
  width: 100%; 
  position: absolute; 
  top: 0; 
  left: 0; 
} 
.news-right p { 
  padding: 0; 
  line-height: 15px; 
  text-overflow: ellipsis; 
  box-sizing: border-box; 
  white-space: nowrap; 
  font-size: 13px; 
}

总结

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

Javascript 相关文章推荐
JavaScript页面刷新与弹出窗口问题的解决方法
Mar 02 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
Aug 30 Javascript
返回顶部按钮响应滚动且动态显示与隐藏
Oct 14 Javascript
jquery实现经典的淡入淡出选项卡效果代码
Sep 22 Javascript
微信小程序 获取微信OpenId详解及实例代码
Oct 31 Javascript
Javascript面试经典套路reduce函数查重
Mar 23 Javascript
javascript 作用于作用域链的详解
Sep 27 Javascript
vue+django实现一对一聊天功能的实例代码
Jul 17 Javascript
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
Oct 16 jQuery
JS实现放大镜效果
Sep 21 Javascript
Vue+Bootstrap实现简易学生管理系统
Feb 09 Vue.js
手写Vue2.0 数据劫持的示例
Mar 04 Vue.js
基于jstree使用AJAX请求获取数据形成树
Aug 29 #Javascript
基于jQuery的左滑出现删除按钮的示例
Aug 29 #jQuery
jQuery实现简单的计时器功能实例分析
Aug 29 #jQuery
Vue2.0权限树组件实现代码
Aug 29 #Javascript
基于Vue实现后台系统权限控制的示例代码
Aug 29 #Javascript
jQuery动态添加.active 实现导航效果代码思路详解
Aug 29 #jQuery
laravel5.4+vue+element简单搭建的示例代码
Aug 29 #Javascript
You might like
php 清除网页病毒的方法
2008/12/05 PHP
php 来访国内外IP判断代码并实现页面跳转
2009/12/18 PHP
php中DOMElement操作xml文档实例演示
2013/03/26 PHP
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
Laravel实现自定义错误输出内容的方法
2016/10/10 PHP
Thinkphp事务操作实例(推荐)
2017/04/01 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
2019/07/24 PHP
Jquery下:nth-child(an+b)的使用注意
2011/05/28 Javascript
JavaScript中this关键词的使用技巧、工作原理以及注意事项
2014/05/20 Javascript
jQuery中的一些常见方法小结(推荐)
2016/06/13 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
2016/08/31 Javascript
ros::spin() 和 ros::spinOnce()函数的区别及详解
2016/10/01 Javascript
微信小程序之小豆瓣图书实例
2016/11/30 Javascript
AngularJS实现路由实例
2017/02/12 Javascript
JS实现动态添加DOM节点和事件的方法示例
2017/04/28 Javascript
knockoutjs模板实现树形结构列表
2017/07/31 Javascript
jQuery 实时保存页面动态添加的数据的示例
2017/08/14 jQuery
ReactNative实现Toast的示例
2017/12/31 Javascript
vue遍历对象中的数组取值示例
2019/11/07 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
python监控网卡流量并使用graphite绘图的示例
2014/04/27 Python
Python中用max()方法求最大值的介绍
2015/05/15 Python
Python的Django框架中forms表单类的使用方法详解
2016/06/21 Python
Python控制键盘鼠标pynput的详细用法
2019/01/28 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
2020/01/13 Python
python不使用for计算两组、多个矩形两两间的iou方式
2020/01/18 Python
python 高阶函数简单介绍
2021/02/19 Python
澳大利亚领先的宠物用品商店:VetSupply
2017/09/08 全球购物
远程培训的心得体会
2014/09/01 职场文书
万能检讨书开头与结尾怎么写
2015/02/17 职场文书
幼儿园园务工作总结2015
2015/05/18 职场文书
幼儿园开学温馨提示
2015/07/15 职场文书
导游词之太原天龙山
2020/01/02 职场文书
PHP 技巧 * SVG 保存为图片(分享图生成)
2021/04/02 PHP
深入解析Apache Hudi内核文件标记机制
2022/03/31 Servers
SpringBoot接入钉钉自定义机器人预警通知
2022/07/15 Java/Android