一开始直接用的是一种比较直观的方式,先计算好给定总盒子总宽度,及每个轮播图的宽度,最好事先把高度也确定了。

接着用li建立一个横向的图片排列,让图片在屏幕之外也按顺序地排列着,通过修改整个sliderBox的left为负值来移动,transition实现移动轨迹变化,再通过append移动开头/末尾的循环。

但实践发现这样是错的。

因为用户触摸拖动轮播图时,left值相应地变化,这时该到正中间的图片已经正确轮播到达了,但第二步处理最左端/最右端的图片循环时,将会使得整个sliderBox在视觉上进行多一次移动,即移动一次会前进两个图。

这是一个死胡同,因为整体来看,总宽度是一定的,如果现在不需要移动的路径动态效果,就没问题,但一旦需要动态效果,left就一定得单一地变化,那么当left的绝对值大于总宽度,就一定看不到轮播图了,所以难道要让轮播图的总宽度无限增加吗...

之后有了另一种思路,最大的区别在于不是让整体的轮播盒子的left值变化,而是具体划分到各个图片盒子的left值各自变化。

所以可以不让图片在屏幕之外也按规矩排列着,而是把图片集分为四个class,左侧、中间、右侧、底层,给定各个类准确的left值(中间也需设置left值,否则不会有变动轨迹),除了左中右外其他图片都堆在中间底层不可见(否则滑动时左侧或右侧图片置入底层的变换轨迹会出现),图片随用户移动即通过class的变化来实现left值的变化即可。

最终代码可见:https://github.com/pilipala6868/Js-function/tree/master/slider-mobile

效果可见:http://mxiaolin.pilipala6868.top(手机端打开)

移动端轮播图——网易云音乐手机端样式相关推荐

  1. html5移动端轮播图特效,支持移动端的纯js轮播图插件awesome-slider

    awesome-slider是一款支持移动端的纯js轮播图插件.该轮播图插件支持任何HTML标签,可以自定义分页标签和Loading效果,支持在前端框架如react中使用. 使用方法 安装: /* y ...

  2. 手撸移动端轮播图(内含源码)

    移动轮播图 移动端轮播图与PC段轮播图,在技术选择上是有区别的,因为移动端的浏览器版本非常好,对于H5和CSS3的支持非常完美,所以很多效果可以CSS3的方式实现,比如可以使用 Transorm 属性 ...

  3. js 移动端网页特效+移动端轮播图案例+移动端常用开发插件的使用

    触屏事件 常见触屏事件: 触屏touch事件 说明 touchstart 手指触摸到DOM元素时触发 touchmove 手指在DOM元素上滑动时触发 touchend 手指从一个DOM元素上移开时触 ...

  4. 移动端实现文字轮播_js实现移动端轮播图

    本文实例为大家分享了js实现移动端轮播图的具体代码,供大家参考,具体内容如下 这是结构 Document 这是CSS /* 搜索部分 */ .jd_layout{ width: 100%; max-w ...

  5. vue移动端轮播图适配宽高

    vue移动端轮播图适配宽高 /** 初始化轮播图的高度 */initSwipeHeight(){console.log(window.screen.width)let picw = 1242; // ...

  6. 移动端网页特效移动端轮播图

    触屏事件 移动端浏览器兼容性较好,无需考虑JS兼容问题,但是移动端也有自己独特之处,比如触屏事件touch (也称触摸事件)Android和IOS都有 touch对象代表一个触摸点 ,触屏事件可响应用 ...

  7. 使用Hammer制作移动端轮播图

    需求 最近公司官网改版 手机端新的设计稿中有个轮播效果 如下图: 这个轮播图要求有三个效果 左右滑动可以切换 不循环轮播 上面列表中的文案要求高亮的尽量居中 类似今日头条app那种滑动切换 上面列表中 ...

  8. 学习响应式BootStrap来写融职教育网站,Bootsrtap第七天PC端轮播图

    <!DOCTYPE html> <html lang="zh_CN"> <head><meta charset="UTF-8&q ...

  9. 学习响应式BootStrap来写融职教育网站,Bootsrtap第六天移动端轮播图

    <!DOCTYPE html> <html lang="zh_CN"> <head><meta charset="UTF-8&q ...

  10. 如何实现移动端轮播图的左滑右滑效果

    既然是滑动的话肯定是touch事件,需要获取触摸屏幕开始的X值,和结束的值,怎样才算结束的值?就是在屏幕中移动的值并将手抬起的X值,然后通过touchend介绍事件进行判断操作 //1.先获取手指在轮 ...

最新文章

  1. request 和response
  2. IIS初始化(预加载),解决第一次访问慢,程序池被回收问题
  3. Java基础-重写方法
  4. iOS开发UIScrollView的底层实现
  5. 作者:祝天刚(1988-),男,中国科学院大学硕士生。
  6. shell数值运算的方法
  7. 吴恩达深度学习 —— 2.4 梯度下降
  8. eclipse/myeclipse添加插件3种方式
  9. daily scrum 11.30
  10. monggodb和MySQL同步问题_monggoDB添加到windows服务
  11. python执行命令不阻塞_通过python 执行 nohup 不生效的解决
  12. python毕业设计项目源码选题(19)篮球、足球、羽毛球等运动场地预约系统毕业设计毕设作品开题报告开题答辩PPT
  13. POI之Excel字体样式
  14. 爱学习的小虫子——Who Am I ?
  15. 9 种流行的文件、文件夹比较工具点评 (转贴)
  16. java四则运算程序_java实现四则运算程序
  17. vue项目中使用百度地图api完成自定义搜索功能(包含搜索详细地理位置)
  18. 迈普路由器NAT上网限速配置示例
  19. 权重衰退+Dropout
  20. 第3章 天墉城有仙人

热门文章

  1. Vetur:Root file specified for compilation
  2. KKB:二进制知识:15瓶水,其中只有一瓶水有毒,请问至少需要几只小白鼠可以一次性喝出来?
  3. jupyter 使用nginx进行代理的nginx配置文件
  4. 高通see架构ppg测试流程sns_client_test_cpp
  5. systemctl开机启动设置
  6. 2535: [Noi2010]Plane 航空管制2
  7. 《持续交付》书评与访谈
  8. #1_《经典控制理论复习》摘录
  9. 应届生面试应答需要注意哪些事项及技巧?
  10. JAVA 图片格式检查方法