FoxSlider.js 称不上库的库

1、简述

用惯了各种各样的组件,并没有真正意义上的封装一个可以拖拽切屏的轮播图,经过一番编写,发现写这样一个轮播图要想写的好,还真的是挺有难度,不同设备的不同事件完备性?事件触发时机的把控?如何更好的去封装?自适应窗口后的事件重置?等等...,看看swiper这个库的源码,就知道小事情也可以不简单。
现在写的这个基本的需求是可以满足的,可以通过拖拽切换也可以点击切换。

github 传送门(想你来一起完(wan)善(shua)!!Fork & Star ^_^一下你就会很美

传送点不了的可以复制链接: github.com/forrestyuan…

原生撸码一时爽,一直原生一直爽

1.1、特性

  • 面向手机、平板,PC等终端。

1.2、缺点

  • 封装简陋,功能亟需扩充
  • 语义化不够强
  • 用户配置能力弱

2、调用实例

html 结构代码

<!-- 引入js文件 -->
<script src="js/base.js"></script>
<!-- 主要dom结构 -->
<div class="slider-container"><div class="slide-bar"><div class="slider "><img src="assets/slider1.jpg" alt=""></div><div class="slider"><img src="assets/slider2.jpg" alt=""></div><div class="slider"><img src="assets/slider3.jpg" alt=""></div></div><div class="slider-pin"><span class="pin on"></span><span class="pin"></span><span class="pin"></span></div>
</div>
复制代码

js 代码

//实例化TouchPlugin,传入参数
var tp = new TouchPlugin({sliderContainer:'.slider-container',slider:'.slider',slidePin:'.slider-pin',sliderBar:'.slide-bar',pinClassName:'on',pin:'.pin',callback:function(e, dir, distance){console.log(dir, distance);}});
复制代码

运行效果

3、base.js内主要方法

init()

初始化函数

Kind: global function


refreshParam(totalMoveLen, spinIndex)

刷新参数

Kind: global function

Param Type Description
totalMoveLen number 滚动位移
spinIndex number 轮播指标高亮下标

setTranslate(domNode, conf, moveLen)

设置指定对象移动样式 (transform)

Kind: global function

Param Type Description
domNode Object 应用移动样式的对象
conf Object 配置对象(animateStyle: ease-in-out
moveLen number 轮播图移动距离(切屏通过控制位移)

resize()

改变屏幕尺寸重置参数

Kind: global function


autoRun(time, initStep)

自动轮播

Kind: global function

Param Type Description
time number 轮播时间
initStep number spin下标 和下一屏

judgeDir(curX, preX)

判断鼠标或触摸移动的方向

Kind: global function

Param Type Description
curX number 鼠标点击或开始触摸屏幕时的坐标X
preX numer 鼠标移动或触摸移动时的坐标X

testTouchEvent()

检测当前设备支持的事件(鼠标点击移动和手触摸移动)

Kind: global function


mouseX(event)

获取鼠标横坐标位置

Kind: global function

Param Type Description
event Event 事件对象

cancelBind(domNode)

取消绑定触摸或鼠标点击移动事件

Kind: global function

Param Type Description
domNode Object 需要被取消绑定事件节点对象

reBindTouchEvent(domNode, callback, isUnbind)

重新绑定触摸事件

Kind: global function

Param Type Description
domNode Object 需要被绑定事件节点对象
callback function 回调方法
isUnbind boolean 是否取消绑定

removeClsName(nodeList, clsName)

移除节点的样式类名

Kind: global function

Param Type Description
nodeList Array 被移除样式的节点数组
clsName string 移除的样式类名称

setClsName(node, clsName)

添加样式

Kind: global function

Param Type Description
node Object 添加类名的节点
clsName string 样式类名

bindSpinClick()

点击轮播spin 切换屏

Kind: global function


checkTargetByCls(domNode, clsName)

通过检测dom节点是否包含某个样式名来判断是否属于目标target

Kind: global function

Param Type
domNode Object
clsName string

bindTouchEvent(domNode, callback, isUnbind)

Kind: global function

Param Type Description
domNode Object 绑定事件的代理对象
callback function 回调方法
isUnbind boolean 是否取消绑定

转载于:https://juejin.im/post/5cf78ae9f265da1bcc19307b

原生 JS 撸一个轮播图(支持拖拽切屏)相关推荐

  1. php cms 轮播图,原生JS运动实现轮播图

    原生JS运动实现轮播图 **基本原理:**通过控制包含n张图片的ul的left值来实现图片自动运动的效果,其中列表中li元素的个数为n,第一个li和最后一个li里存放的图片应为同一张图片,当图片运动到 ...

  2. 原生js进阶版轮播图实现(走马灯效果,无缝衔接)

    原生js进阶版轮播图实现(走马灯效果,无缝衔接) 利用原生js手写一个轮播图,是上一篇文章的简易版的一个进阶,本次轮播图主要是利用定位和定时器实现了走马灯效果,并且是左右轮播.实现过程与代码也是很简单 ...

  3. html原生js实现图片轮播,原生js实现简单轮播图

    本文实例为大家分享了js实现简单轮播图的具体代码,供大家参考,具体内容如下 一.写入网页基本结构 body: 网页的最外部设置一个id为wrap的容器,取代body,这样方便我们做一些初始化 css: ...

  4. html轮播图原理,30_用js实现一个轮播图效果,简单说下原理

    一.原理 将一些图片在一行中平铺,然后计算偏移量再利用定时器实现定时轮播. 步骤一:建立html基本布局 如下所示: 轮播图 1 2 3 4 5 < > 只有五张图片,却使用7张来轮播,这 ...

  5. 单机按钮来图片轮播_原生js如何实现轮播图效果?

    第一种: 这个是之前写的,比较草率,没有注释,如果这个看不懂就去看第二个,比较仔细,主要是了解他,后面都会有一些插件来使用,很方便,只要几行代码就可写出各种各样的代码,所以,不懂的话,不要太在意, 第 ...

  6. 原生js+css 实现轮播图 完整代码

    利用原生的js实现轮播图,可以添加到自己的UI库中,在以后的项目中对其进行修改然后添加到已有项目中. 先写出css部分和html部分,直接上代码 <!DOCTYPE html> <h ...

  7. html图片3djs轮播,原生js实现3D轮播图

    3D轮播图是我做过复杂的图片轮播了,由于是利用坐标,层级之间的关系,所以实现起来原理比较简单但是bug巨多,在推推拖拖了好久后,下定决心重新整理成博客,与大家分享! 首先分析一下3D图片轮播的功能需求 ...

  8. js判断定时器是否启动_原生js如何做出轮播图的效果

    <div class="box"><ul><li class="active"><img src="./im ...

  9. 原生JS实现小米轮播图和网易云轮播图

    文章目录 小米轮播图 网易云轮播图 小米轮播图 实现功能: 定时切换(2s) 点击按钮停止切换 点击向左向右按钮进行相应切换 鼠标点击下方的小圆点,并进行相应的切换 效果: 代码如下: <!DO ...

  10. 制作轮播图思路 ~ 使用JS做一个轮播图,先在脑海里捋一捋逻辑,我的思路是这样的,看图啦:

    制作一个功能比较全的轮播图,应该怎么下手呢?我的思路比较中规中矩,如果不知道怎么下手的,看看我的思路吧,看完一定要着手试试哦~

最新文章

  1. 40个Java多线程问题总结
  2. Java学习day2
  3. python线程(二)代码部分Threading模块
  4. ByteBuffer的使用
  5. java广度优先爬虫示例,【爬虫】广度优先遍历抓取数据概述
  6. 获取springbean的几种方式
  7. 2018CHD-ACM新生赛(正式赛)E.解救迷茫的草滩小王子
  8. 分享一个最新思考的创业项目
  9. 三道题就能考察你对Vue掌握了多少!
  10. [见得多了就懂了]食物链
  11. 计算机网络网络层之IP协议(5)——IP子网划分与子网掩码
  12. 【机器人技术基础】第1章选择题
  13. 一文读懂TOGAF企业架构
  14. 全网最强最细postman接口测试教程(一)
  15. bat脚本中怎么注释命令行
  16. 移动前端开发和 Web 前端开发的区别
  17. 考研 计算机 跨专业,考研跨专业计算机 你需要满足这些条件
  18. 计算机毕业设计jsp宠物美容网站
  19. abaqus python实例_abaqus Python实例-操作excel文件
  20. 用图片制作radio单选按钮

热门文章

  1. [py]__name__ 属于哪个文件
  2. 【CS Round #46 (Div. 1.5) B】Letters Deque
  3. ChainOfResponsibilityPattern(23种设计模式之一)
  4. js和jQuery的总结
  5. PHP基础知识点汇总(三)
  6. 根据输入时间判断年龄是否在18~68周岁之间
  7. 5、WPF实现简单计算器-非常适合初学者练习
  8. C#动态创建和动态使用程序集、类、方法、字段等(二)
  9. Oracle物化视图的一般使用【转】
  10. day7-mysql引擎和索引