移动端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向flash swf文件传递参数值注意细节
Dec 11 Javascript
jquery实现页面常用的返回顶部效果
Mar 04 Javascript
js仿腾讯QQ的web登陆界面
Aug 19 Javascript
JavaScript与ActionScript3两者的同性与差异性
Sep 22 Javascript
JavaScript中数组slice和splice的对比小结
Sep 22 Javascript
js多个物体运动功能实例分析
Dec 20 Javascript
js实现漫天星星效果
Jan 19 Javascript
JS/HTML5游戏常用算法之碰撞检测 像素检测算法实例详解
Dec 12 Javascript
vue把输入框的内容添加到页面的实例讲解
Nov 11 Javascript
在vue中实现清除echarts上次保留的数据(亲测有效)
Sep 09 Javascript
js实现星星海特效的示例
Sep 28 Javascript
详解Vue 的异常处理机制
Nov 30 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的五种设计模式
2012/09/05 PHP
Laravel使用swoole实现websocket主动消息推送的方法介绍
2019/10/20 PHP
从JavaScript的函数重名看其初始化方式
2007/03/08 Javascript
JavaScript 检测浏览器和操作系统的脚本
2008/12/26 Javascript
javascript demo 基本技巧
2009/12/18 Javascript
js中eval详解
2012/03/30 Javascript
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
JavaScript设计模式之装饰者模式介绍
2014/12/28 Javascript
JavaScript实现简单的二级导航菜单实例
2015/04/15 Javascript
js设置document.domain实现跨域的注意点分析
2015/05/21 Javascript
Three.js学习之正交投影照相机
2016/08/01 Javascript
常用的javascript设计模式
2017/01/11 Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
2017/06/11 Javascript
面包屑导航详解
2017/12/07 Javascript
详解vue2.0 不同屏幕适配及px与rem转换问题
2018/02/23 Javascript
vue渲染时闪烁{{}}的问题及解决方法
2018/03/28 Javascript
Element Input组件分析小结
2018/10/11 Javascript
基于vue-upload-component封装一个图片上传组件的示例
2018/10/16 Javascript
vue项目中使用scss的方法步骤
2019/05/16 Javascript
Python中的Classes和Metaclasses详解
2015/04/02 Python
Python多线程编程(六):可重入锁RLock
2015/04/05 Python
Python实现基本线性数据结构
2016/08/22 Python
python七夕浪漫表白源码
2019/04/05 Python
python中selenium操作下拉滚动条的几种方法汇总
2019/07/14 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
python使用rsa非对称加密过程解析
2019/12/28 Python
pyinstaller打包找不到文件的问题解决
2020/04/15 Python
css3媒体查询中device-width和width的区别详解
2020/03/27 HTML / CSS
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
2012/12/13 HTML / CSS
教师党性分析材料
2014/02/04 职场文书
利群广告词
2014/03/20 职场文书
银行行长竞聘演讲稿
2014/04/23 职场文书
2015年打非治违工作总结
2015/04/02 职场文书
go语言中切片与内存复制 memcpy 的实现操作
2021/04/27 Golang
浅谈Python协程asyncio
2021/06/20 Python
mysql事务对效率的影响分析总结
2021/10/24 MySQL