html 百分比拖动进度条,jQuery拖动滑块百分比进度条特效

特效描述:jQuery 拖动滑块 百分比进度条。jQuery拖动滑块百分比进度条特效

代码结构

1. 引入CSS

2. 引入JS

3. HTML代码

80%
35%
25%
0%

100%

0%

选项1

100%~70%

选项2

70%~55%

选项3

55%~45%

选项4

45%~35%

var index,maxLeft;

$(function(){

//range值提示

$(".f-hk").mouseenter(function(){

$(this).find(".f-range-tips").css("display","block");

});

$(".f-hk").mouseleave(function(){

$(this).find(".f-range-tips").css("display","none");

});

//拖动开始X值

var startX,preLeft,minLeft;

var handle = false;

$(".f-hk").mousedown(function(e){

//拖动开始的X坐标

startX = e.pageX;

//判断是否拖动的变量

handle = true;

index = $(".f-hk").index(this);

//获取滑块下标

preLeft = parseInt($(".f-hk").eq(index).css("left"));

//获取滑块最左的值

minLeft = parseInt($(".f-hk").eq(index-1).css("left"))+8;

})

$(document).mousemove(function(e){

e.stopPropagation();

//是否点击滑块

if(handle){

//显示提示值

$(".f-hk").eq(index).find(".f-range-tips").css("display","block");

//是否第一个

if(index==0){

//是否最后一个

if(index != $(".f-hk").length-1){

maxLeft = parseInt( $(".f-hk").eq(index+1).css("left") ) - 8;

}else{

maxLeft = 500;

}

var newLeft =e.pageX-startX+preLeft;

//设置边界

if(newLeft>maxLeft){

newLeft = maxLeft;

}

if(newLeft<0){

newLeft=0;

}

//执行拖动

$(".f-hk").eq(index).css("left",newLeft);

//动态改变提示的值

var myVal = parseInt( (1- (parseFloat($(".f-hk").eq(index).css("left"))-8*(index) ) /(500-8*(index+($(".f-hk ").length-index-1) ) ))*100 ) +"%" ;

$(".f-hk").eq(index).find(".f-range-tips").html(myVal);

//改变 信息表最小值

$(".f-range-msg").eq(index).find(".f-valMin").html(myVal);

//改变信息表最大值

if(index != $(".f-hk ").length-1){

var max = $(".f-range-msg").eq(index+1).find(".f-valMax").html(myVal) ;

}

}else{

//是否最后一个

if(index != $(".f-hk").length-1){

maxLeft = parseFloat( $(".f-hk").eq(index+1).css("left") ) - 8;

}else{

maxLeft = 500;

}

var newLeft =e.pageX-startX+preLeft;

//设置边界

if(newLeft>maxLeft){

newLeft = maxLeft;

}

if(newLeft

newLeft=minLeft;

}

//执行拖动

$(".f-hk").eq(index).css("left",newLeft);

//动态改变提示的值

var myVal = parseInt( (1- (parseFloat($(".f-hk").eq(index).css("left"))-8*(index) ) /(500-8*(index+($(".f-hk ").length-index-1) ) ))*100 ) +"%" ;

$(".f-hk").eq(index).find(".f-range-tips").html(myVal);

//改变信息表最小值

$(".f-range-msg").eq(index).find(".f-valMin").html(myVal );

//改变信息表最大值

if(index != $(".f-hk ").length-1){

var max = $(".f-range-msg").eq(index+1).find(".f-valMax").html(myVal) ;

}

}

}

})

$(document).mouseup(function(){

handle = false;

//隐藏值

$(".f-range-tips").css("display","none");

})

//初始化

for(i=0;i

//获取百分比

var getVal = parseInt($(".f-hk").eq(i).find(".f-range-tips").html());

var totalWidth = 500-8*(i+4-1-i);

var setLeft = parseInt ((1-getVal/100) * (totalWidth))+8*(i);

//初始化left值

$(".f-hk").eq(i).css("left",setLeft);

//初始化最小值

$(".f-range-msg").eq(i).find(".f-valMin").html(getVal+"%");

//初始化最大值

if(i != $(".f-hk").length-1){

$(".f-range-msg").eq(i+1).find(".f-valMin").html(getVal+"%");

}

}

})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值