mirror of https://github.com/layui/layui
slider: [修复] 垂直滑块在非首屏位置点选时,滑块值直接拉满的问题
parent
1fae44ae71
commit
ff3954e275
|
@ -319,21 +319,26 @@ layui.define('jquery', function(exports){
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
//点击滑块
|
// 点击滑块
|
||||||
sliderAct.on('click', function(e){
|
sliderAct.on('click', function(e){
|
||||||
var main = $('.' + SLIDER_WRAP_BTN);
|
var main = $('.' + SLIDER_WRAP_BTN);
|
||||||
|
var othis = $(this);
|
||||||
if(!main.is(event.target) && main.has(event.target).length === 0 && main.length){
|
if(!main.is(event.target) && main.has(event.target).length === 0 && main.length){
|
||||||
var left = options.type === 'vertical' ? (sliderWidth() - e.clientY + $(this).offset().top):(e.clientX - $(this).offset().left), index;
|
var index;
|
||||||
if(left < 0)left = 0;
|
var offset = options.type === 'vertical'
|
||||||
if(left > sliderWidth())left = sliderWidth();
|
? (sliderWidth() - e.clientY + othis.offset().top - $(window).scrollTop())
|
||||||
var reaLeft = left / sliderWidth() * 100 / step;
|
:(e.clientX - othis.offset().left - $(window).scrollLeft());
|
||||||
|
|
||||||
|
if(offset < 0)offset = 0;
|
||||||
|
if(offset > sliderWidth()) offset = sliderWidth();
|
||||||
|
var reaLeft = offset / sliderWidth() * 100 / step;
|
||||||
if(options.range){
|
if(options.range){
|
||||||
if(options.type === 'vertical'){
|
if(options.type === 'vertical'){
|
||||||
index = Math.abs(left - parseInt($(sliderWrap[0]).css('bottom'))) > Math.abs(left - parseInt($(sliderWrap[1]).css('bottom'))) ? 1 : 0;
|
index = Math.abs(offset - parseInt($(sliderWrap[0]).css('bottom'))) > Math.abs(offset - parseInt($(sliderWrap[1]).css('bottom'))) ? 1 : 0;
|
||||||
}else{
|
} else {
|
||||||
index = Math.abs(left - sliderWrap[0].offsetLeft) > Math.abs(left - sliderWrap[1].offsetLeft) ? 1 : 0;
|
index = Math.abs(offset - sliderWrap[0].offsetLeft) > Math.abs(offset - sliderWrap[1].offsetLeft) ? 1 : 0;
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
index = 0;
|
index = 0;
|
||||||
};
|
};
|
||||||
change(reaLeft, index);
|
change(reaLeft, index);
|
||||||
|
|
Loading…
Reference in New Issue