js 功能-无缝滚动 |学习笔记

简介: 快速学习 js功能-无缝滚动

开发者学堂课程【移动 Web 前端开发:js 功能-无缝滚动】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/594/detail/8418


js功能-无缝滚动

 

监听时的注意事项

* 1.无縫滚动&无縫滑动( 定时器 过渡 位移 )

写这个程序的目的就是要它滚动,那么需要依靠谁来让它滚动? 依赖于索引。

var index = 1;当前定位是1;首页默认显示索引1 的图片;

首先需要定时器,每隔一秒执行一次;每定时一次索引需要加1,

var timer = setInterval ( function ( ) {

index ++;

/*过渡*/

addTransition();

/*位移*/

setTranslateX(-index*width);

},1000);

/*怎么监听过渡结束这个时间点 过渡结束事件*/

imageBox . addEventListener( " transitionend' , function(){

console. log( " transitionend );

刷新完它会执行几次?答: 它一直会执行下去, 每播放完一张照片, 过渡就结束了一次,它就会接着播放下一张, 当播放完第九张照片, 然后就会瞬间定位到第一张照片, 这样就会达到一个无缝滚动的效果。

if (index >= 9) { 瞬间定位到第一张

当前的索引9, 这样会显得更加严谨一点.

index = 1此时索引为1

/*清除过渡*/

imageBox. style. transition  =  'none';

imageBox. style.webkitTransition = 'none'; /*兼容*/

或者removeTransition();和上方的代码性质一样

/*定位*/ 如果要瞬间定位回去,那就需要位移

以下这两条代码不是瞬间定位到第一张图片,因为在此之前已经过渡了一次,否则依然是一个动画过程,如果想要瞬间定位到第一张图片;那么就要清除过渡, 重新定位一次。

imageBox.style.transform = 'translatex(+‘(-index*width)’+‘px‘)';

imageBox.style.webkittransform = 'translatex(+‘(-index*width)’+‘px‘)';

或者

setTranslateX(-index*width); 

});

和上方的代码性质一样

相关文章
|
1月前
|
JavaScript 前端开发
JavaScript分页功能
JavaScript分页功能
|
14天前
|
JavaScript
js实现简洁实用的网页计算器功能源码
这是一款使用js实现简洁实用的网页计算器功能源码。可实现比较基本的加减乘除四则运算功能,界面简洁实用,是一款比较基本的js运算功能源码。该源码可兼容目前最新的各类主流浏览器。
23 2
|
1月前
|
人工智能 JavaScript 网络安全
ToB项目身份认证AD集成(三完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法
本文详细介绍了如何使用 `ldapjs` 库在 Node.js 中实现与 Windows AD 的交互,包括用户搜索、身份验证、密码修改和重置等功能。通过创建 `LdapService` 类,提供了与 AD 服务器通信的完整解决方案,同时解决了中文字段在 LDAP 操作中被转义的问题。
|
1月前
|
JavaScript 前端开发 API
|
1月前
|
JavaScript API UED
vue.js怎么实现全屏显示功能
【10月更文挑战第7天】
19 1
|
1月前
|
资源调度 JavaScript UED
如何使用Vue.js实现单页应用的路由功能
【10月更文挑战第1天】如何使用Vue.js实现单页应用的路由功能
|
1月前
|
JavaScript 搜索推荐
JS中的模糊查询功能
JS中的模糊查询功能
27 1
|
2月前
|
JavaScript 前端开发 API
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
|
1月前
|
前端开发 JavaScript
使用 JavaScript 实现图片预览功能
使用 JavaScript 实现图片预览功能
26 0
|
1月前
|
JavaScript 安全 前端开发
js实现复制功能
js实现复制功能
18 0