移动端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 相关文章推荐
js实现幻灯片效果(基于jquery插件)
Nov 05 Javascript
解析prototype,JQuery中跳出each循环的方法
Dec 12 Javascript
推荐一个封装好的getElementsByClassName方法
Dec 02 Javascript
javascript实时获取鼠标坐标值并显示的方法
Apr 30 Javascript
javascript实现无缝上下滚动特效
Dec 16 Javascript
理解JS绑定事件
Jan 19 Javascript
canvas实现简易的圆环进度条效果
Feb 28 Javascript
js省市区级联查询(插件版&amp;无插件版)
Mar 21 Javascript
js中的事件委托或是事件代理使用详解
Jun 23 Javascript
小程序云开发实战小结
Oct 25 Javascript
原生js实现随机点名
Jul 05 Javascript
vue ref如何获取子组件属性值
Mar 31 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 无极分类(递归)实现代码
2010/01/05 PHP
如何解决PHP使用mysql_query查询超大结果集超内存问题
2016/03/14 PHP
PHP字典树(Trie树)定义与实现方法示例
2017/10/09 PHP
PHP 实现文件压缩解压操作的方法
2019/06/14 PHP
用JQuery调用Session的实现代码
2010/10/29 Javascript
原生js实现tab选项卡切换
2020/03/23 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
2016/12/15 Javascript
将鼠标焦点定位到文本框最后(代码分享)
2017/01/11 Javascript
jquery实现的table排序功能示例
2017/03/10 Javascript
SeaJS中use函数用法实例分析
2017/10/10 Javascript
Node.js进阶之核心模块https入门
2018/05/23 Javascript
JS实现的视频弹幕效果示例
2018/08/17 Javascript
Nodejs把接收图片base64格式保存为文件存储到服务器上
2018/09/26 NodeJs
Javascript中的奇葩知识,你知道吗?
2021/01/25 Javascript
Python中优化NumPy包使用性能的教程
2015/04/23 Python
Python3实现转换Image图片格式
2018/06/21 Python
Python离线安装PIL 模块的方法
2019/01/08 Python
PyCharm设置每行最大长度限制的方法
2019/01/16 Python
Python3中列表list合并的四种方法
2019/04/19 Python
完美解决python3.7 pip升级 拒绝访问问题
2019/07/12 Python
Python 70行代码实现简单算式计算器解析
2019/08/30 Python
python生成并处理uuid的实现方式
2020/03/03 Python
canvas实现烟花的示例代码
2020/01/16 HTML / CSS
远程Wi-Fi宠物监控相机:Petcube
2017/04/26 全球购物
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
CSMA/CD介质访问控制协议
2015/11/17 面试题
银行实习生的自我评价
2014/01/13 职场文书
致跳远运动员广播稿
2014/02/11 职场文书
会计电算化毕业生自荐信
2014/03/03 职场文书
大学生两会学习心得体会
2014/03/10 职场文书
2014年人力资源部工作总结
2014/11/19 职场文书
严以律己学习心得体会
2016/01/13 职场文书
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js
Java图书管理系统,课程设计必用(源码+文档)
2021/06/30 Java/Android
Python selenium绕过webdriver监测执行javascript
2022/04/12 Python