移动端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 相关文章推荐
基于jQuery的倒计时插件代码
May 07 Javascript
JS中获取数据库中的值的方法
Jul 14 Javascript
JavaScript Function函数类型介绍
Apr 08 Javascript
C#中使用迭代器处理等待任务
Jul 13 Javascript
基于jQuery实现仿百度首页换肤背景图片切换代码
Aug 25 Javascript
JS树形菜单组件Bootstrap TreeView使用方法详解
Dec 21 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
Jan 08 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
Feb 08 Javascript
Angular6 Filter实现页面搜索的示例代码
Dec 02 Javascript
VUE脚手架的下载和配置步骤详解
Apr 01 Javascript
Vue 中 template 有且只能一个 root的原因解析(源码分析)
Apr 11 Javascript
微信jssdk踩坑之签名错误invalid signature
May 19 Javascript
基于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表单提交实例讲解
2015/11/12 PHP
Yii2中如何使用modal弹窗(基本使用)
2016/05/30 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
2017/10/07 PHP
js 浮动层菜单收藏
2009/01/16 Javascript
setTimeout 不断吐食CPU的问题分析
2009/04/01 Javascript
jquery自动完成插件(autocomplete)应用之PHP版
2009/12/15 Javascript
jQuery对象[0]是什么含义?
2010/07/31 Javascript
基于jquery的合并table相同单元格的插件(精简版)
2011/04/05 Javascript
文本框根据输入内容自适应高度的代码
2011/10/24 Javascript
初步使用Node连接Mysql数据库
2016/03/03 Javascript
js 弹出虚拟键盘修改密码的简单实例
2016/10/10 Javascript
AngularJS 中的数据源的循环输出
2017/10/12 Javascript
Vue.js 2.5新特性介绍(推荐)
2017/10/24 Javascript
vue-router命名视图的使用讲解
2019/01/19 Javascript
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
对python实现二维函数高次拟合的示例详解
2018/12/29 Python
详解python:time模块用法
2019/03/25 Python
Python交互式图形编程的实现
2019/07/25 Python
Python ckeditor富文本编辑器代码实例解析
2020/06/22 Python
总结30个CSS3选择器
2017/04/13 HTML / CSS
英国演唱会订票网站:Ticket Selection
2018/03/27 全球购物
世界各地的旅游、观光和活动:Isango!
2019/10/29 全球购物
华为慧通笔试题
2016/04/22 面试题
二手房购房意向书范本
2014/04/01 职场文书
《小鹰学飞》教学反思
2014/04/23 职场文书
产品开发计划书
2014/04/27 职场文书
师德师风自查材料
2014/10/14 职场文书
领导个人查摆剖析材料
2014/10/29 职场文书
表扬信范文
2015/05/04 职场文书
贷款收入证明范本
2015/06/12 职场文书
2016年小学生教师节广播稿
2015/12/18 职场文书
中国式结婚:司仪主持词(范文)
2019/07/25 职场文书
Mysql Innodb存储引擎之索引与算法
2022/02/15 MySQL
Nginx工作模式及代理配置的使用细节
2022/03/21 Servers
Python图像处理库PIL详细使用说明
2022/04/06 Python
MySql统计函数COUNT的具体使用详解
2022/08/14 MySQL