jQuery滑块插件,可实例多个,可滑动和点击操作(原创)

所属分类:输入,媒体-拖和放,滑块和旋转

 21649  307  查看评论 (4)
分享到微信朋友圈
X
jQuery滑块插件,可实例多个,可滑动和点击操作(原创) ie兼容9

更新时间:2019/5/21 上午12:37:03

1.新增updateValue()方法

使用方式:

var pro = $('.progress').Progress({
            val: 0, //滑块默认值0-100      
            tip: false, //是否显示数值提示       
            size: 4,
            toFixed: 2,
            title: true, //是否鼠标滑入滑块时显示数值,默认为false      
            getVal: function(res) {
                //获取滑块val值        
                console.log(res)
            }
        })

 pro.updateValue(val) updateValue()与 setVal效果一样都设置默认val和实现动态渲染, 但是updateValue更为灵活, 你可以在任何情况调用。 推荐使用, 当然你任然可以继续使用setVal方法。

 updateValue()实现动态渲染案例:

var timeID
var cont = 0 timeID = setInterval(function() {
    cont += 0.1 pro.updateValue(cont) if (cont >= 100) {
        clearInterval(timeID)
    }
}, 15)

2. bug修复, 修复鼠标点击时, 定位不准确( css问题) 解决如下

.ProgressLine::before {
    border: 6 px solid# fff;transform: translate(6 px, -50 % );
}

自行设置transform: translateX的值与broder一致即可


更新时间:2019/5/16 上午11:25:46

更新说明:新增两个参数 toFixe,title

title: false, //是否鼠标滑入滑块时显示数值title提示,默认为false

toFixed: 0, //精准数值设置,当滑块长度过长时,可以设置此参数调整改val的改变频率,默认值0或不设置,建议最大设置为2。此参数可配合setVal(),getVal()使用。 

例如: 控制视频播放进度的进准度

toFixed: 2, getVal: function(res) {
    video.currentTime = (video.duration * res) / 100
}, setVal: function(setValue) {
    video.addEventListener('timeupdate', function() {
        var pro = (video.currentTime / video.duration) * 100 setValue(pro)
    })
}

更新时间:2019/5/15 下午9:47:40

更新说明:

1. 修复设置val默认值时,滑块显示长度不准确的BUG

2. 优化了获取值val的方法,新增根据动态数据更新滑块的长度,类似视频播放进度

使用方法如下:

$('.progress').Progress({
    val: 0, //滑块默认值0-100       
    tip: true, //是否显示数值提示        
    getVal: function(res) {
        //获取滑块val值       
        console.log(res)
    },
    setVal: function(setValue) {
        //setValue(cont) 动态根据动态数组更新长度回调方法,         
        //示例:例如视频进度条        
        var timeID
        var cont = 0 timeID = setInterval(function() {
            cont++setValue(cont) if (cont >= 100) {
                clearInterval(timeID)
            }
        }, 100)
        //需结合实际开发使用      
    }
})

更新时间:2019/5/13 上午10:03:18

更新说明:增加方向设置 direction: 'vertical'//设置显示方向 默认horizontal 水平,vertical 垂直


发布时间:2019-05-12 23:30:03

使用方法:

引入css:

<link rel="stylesheet" href="css/progress.css">

引入js:

<script src="http://www.jq22.com/jquery/jquery-1.10.2.js"></script>
<script src="js/progress.js"></script>

调用与配置

html:

<div class="progress"></div>

css:

.progress{
 width: 400px;/*可设置宽度,高度不必设置*/
}

js: 

$('.progress').Progress({
    width: 80, //滑块默认值0-100,可不写默认值0
    height: 10, //设置滑块高度,可不写默认值20
    tip: true, //是否显示数值提示,可不写默认值true
    drag: true, //默认是否能够拖拽,可不写默认值true
}).find('.progressVal').on('DOMNodeed', function() {
    console.log($(this).text()); //滑块改变获取值1-100
});

tip:  css样式可自行修改

相关插件-拖和放,滑块和旋转

jQuery拖拽拉伸缩放插件l_zoom

简约版拖拽拉伸缩放原生jQuery插件 包含 自由缩放 和 等比例缩放 模式 经典还远网页文本框操作简单
  拖和放
 28640  328

拖动滑块验证

拖动滑块进行验证
  拖和放
 66175  493

Sortable – 简单灵活的 JavaScript 拖放排序插件

Sortable 简单灵活的 JavaScript 拖放排序插件
  拖和放
 103254  445

jQuery移动端滑动标尺

移动端卡尺,滑动标尺,标不动
  拖和放
 25073  319

讨论这个项目(4)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

    L 0
    2020/7/11 17:21:05
    请问可以设置,滑块默认值0-100的大小吗,比如0-1000,10-90的滑块值 回复
    三日月 1
    2019/5/17 8:54:22

    仿网易云音乐 进度条滑块
    js:

    $('.progress').Progress({
        val: 0, //滑块默认值0-100
        tip: false, //是否显示数值提示
        title: true, //是否鼠标滑入滑块时显示数值,默认为false
        toFixed: 2,
        size: 4,
        getVal: function(res) {
            //获取滑块val值
            console.log(res)
        },
        setVal: function(setValue) {
            //  setValue(cont) 动态根据动态数组更新长度回调方法,
    
            var timeID
            var cont = 0
            timeID = setInterval(function() {
                cont += 0.1
                setValue(cont)
                if (cont >= 100) {
                    clearInterval(timeID)
                }
            }, 15)
    
        }
    })

    css:修改以下样式

    .ProgressBar{
        background: #f0f0f0;
    }
    .ProgressLine{
        background: #db3e3e;
    }
    .ProgressLine::before{
       background: #db3e3e;
       border: 5px solid #fff;
       box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0.2);
    }
    回复
    我是一朵小白云 0
    2019/5/16 21:20:15

    楼主威猛,感谢分享~

    回复
    areyouOk 0
    2019/5/16 21:17:39

    不错,关注了一下,每次更新,插件都变的更好了。

    看的出来,作者很用心。

    回复
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复