Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
UI
|
输入
|
媒体
|
导航
|
其他
|
网页模板
|
APP模板
|
常用代码
|
在线代码
背景
对话框和灯箱
筛选及排序
反馈
弹出层
悬停
布局
图表
加载
圆边
滚动
标签
文本链接
工具提示
网络类型
拾色器
定制和风格
日期和时间
拖和放
通用输入
自动完成
密码
投票率
搜索
选择框
快捷键
触摸
丰富的输入
上传
验证
音频和视频
幻灯片和轮播图
图片展示
图像
地图
滑块和旋转
Tabs
水平导航
垂直导航
文件树
分页
手风琴菜单
其他导航
动画效果
浏览器调整
移动
独立的部件
杂项
游戏
PROMULGATOR
狂奔的蚂蚁
湖北省武汉市
关注作者
(1)
收藏此代码
(110)
← 复选框样式美化
→ 发光旋转四方体
相关代码
移动
端
slider
滑动
插件
原生
js
slider
滑块
最基本的
移动
端
原生
js
点名系统
css3
移动
端
横向
滑动
滑动
验证(原创)
原生
JS
左右切换效果
移动
端左划删除
Html
Css
Js
请在移动端查看效果,pc端无法拖动
* { margin:0; padding:0; }
var toggle = { startScroll: 0, //手指触屏时的坐标 endScroll: 0, //手指离开时坐标 isScroll: 0, //已经移动的距离 moveCurrency: 0, //移动中的高亮下标 step: 0, //每次移动距离 data: { list: ['凌晨', '空腹', '早餐后', '午餐前', '午餐后', '晚餐前', '晚餐后', '睡前'], isScrollNum: -2, //当前移动数量 [注意:值小于等于0] showNum: 5, //显示个数 divHeight: 50 //div的高度 }, toggle: '', slip: '', li: '', init: function() { this.toggle = document.getElementsByClassName('toggle')[0]; this.slip = this.toggle.getElementsByClassName('slip')[0]; this.step = this.view().width / this.data.showNum; this.isScroll = this.step * ((this.data.showNum - 1) / 2 + this.data.isScrollNum); this.toggleStyle(); this.slipStyle(); this.addData(); this.liStyle(); this.scroll(this.isScroll); this.lightStyle(-this.data.isScrollNum); this.slip.addEventListener('touchstart', this.startMove.bind(this)); this.slip.addEventListener('touchmove', this.nowMove.bind(this)); this.slip.addEventListener('touchend', this.endMove.bind(this)); }, toggleStyle: function() { this.toggle.style.backgroundColor = '#2cc0cf'; this.toggle.style.height = this.data.divHeight + 'px'; this.toggle.style.lineHeight = this.data.divHeight + 'px'; this.toggle.style.overflow = 'hidden'; }, slipStyle: function() { this.slip.style.width = this.step * (this.data.list.length) + 'px'; }, liStyle: function() { this.li = this.slip.getElementsByTagName('li'); for (var i = 0; i < this.li.length; i++) { this.li[i].style.color = '#fff'; this.li[i].style.listStyle = 'none'; this.li[i].style.display = 'inline-block'; this.li[i].style.textAlign = 'center'; this.li[i].style.fontWeight = 600; this.li[i].style.transition = 'all 150ms'; this.li[i].style.webkitTransition = 'all 150ms'; } }, view: function() { return { width: document.documentElement.clientWidth || document.body.clientWidth, height: document.documentElement.clientHeight || document.body.clientHeight } }, addData: function() { for (var i = 0; i < this.data.list.length; i++) { var li = document.createElement('li'); li.innerHTML = this.data.list[i]; li.style.width = this.step + 'px'; this.slip.appendChild(li); } }, lightStyle: function(curr) { for (var i = 0; i < this.li.length; i++) { this.li[i].style.opacity = 0.8; this.li[i].style.fontSize = '14px'; } this.li[curr].style.opacity = 1; this.li[curr].style.fontSize = '18px'; }, startMove: function() { var e = window.event || arguments[0]; this.startScroll = e.changedTouches[0].pageX; }, nowMove: function() { var e = window.event || arguments[0]; var figureScroll = e.changedTouches[0].pageX - this.startScroll; var nowScroll = figureScroll + this.isScroll; var isLight = figureScroll / this.step; this.scroll(nowScroll); //判断移动过程中是否高亮? if (isLight > 0.5) { this.moveCurrency = -this.data.isScrollNum - 1; } else if (isLight < 0 && Math.abs(isLight) > 0.5) { this.moveCurrency = -this.data.isScrollNum + 1; } if (this.moveCurrency < 0) { this.moveCurrency = 0; } else if (this.moveCurrency > this.li.length - 1) { this.moveCurrency = this.li.length - 1; } this.lightStyle(this.moveCurrency); }, endMove: function() { var e = window.event || arguments[0]; this.endScroll = e.changedTouches[0].pageX - this.startScroll; this.isScroll = this.endScroll / this.step; if (this.isScroll > 0.5) { this.data.isScrollNum++; } else if (this.isScroll < 0 && Math.abs(this.isScroll) > 0.5) { this.data.isScrollNum--; } if (this.data.isScrollNum < -this.li.length + 1) { this.data.isScrollNum = -this.li.length + 1; } else if (this.data.isScrollNum > 0) { this.data.isScrollNum = 0; } this.isScroll = (this.data.isScrollNum + (this.data.showNum - 1) / 2) * this.step; this.scroll(this.isScroll); this.lightStyle(-this.data.isScrollNum); }, scroll: function(scroll) { this.slip.style.transform = 'translateX(' + scroll + 'px)'; this.slip.style.webkitTransform = 'translateX(' + scroll + 'px)'; } } toggle.init();
↑上面代码改变,会自动显示代码结果 jQuery调用版本:
1.11.3
立即下载
移动端slider滑动插件
代码描述:slider滑动插件,原生js
1
最新
发表评论
全部评论
暂时没有评论!
■冰翼■
0
2019/4/12 17:18:52
this.isscroll = this.step * ((this.data.shownum - 1) / 2 + this.data.isscrollnum);有人知道这公式表示什么意思吗?
回复
登录后才可以评论
30秒后在评论吧!
发表评论
回复
取消回复
<!doctype html> <html> <head> <meta charset="utf-8"> <title>移动端slider滑动插件-jq22.com</title> <script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script> <style>
</style> </head> <body>
<script>
</script>
</body> </html>
2012-2021 jQuery插件库版权所有
jquery插件
|
jq22工具库
|
网页技术
|
广告合作
|
在线反馈
|
版权声明
沪ICP备13043785号-1
浙公网安备 33041102000314号