javascript - jQuery 多处理范围 slider 空闲到处理程序

标签 javascript jquery html css

我正在使用 jquery slider - 1horizo​​ntal 跟踪时间 0-24h,1vertical 用于调整 LED 值(稍后更多)。我想在拖动水平 slider 时实现第一个处理程序垂直 slider 处于休眠状态,但在拖动第二个或第三个处理程序时却没有。现在我通过检查鼠标位置 .on("slide", function(e,ui) 来实现它。也许有可能跟随处理程序本身?现在垂直 slider 对所有处理程序都是闲置的,因为我不知道如何排序处理程序。也许有人可以指导我正确的方向如何解决我的问题。

这是我的代码。

$(".vertical-slider")
                    
    .slider({ 
        min: 0, 
        max: 255,
        orientation: "vertical"
    })         
    .slider("pips", {
        step: "25"
    });
$(".slider").slider({
    min:0,
    max: 24,
    step: 0.0166666666666666667,
    values: [10, 13, 20]
}).slider("pips", {
        rest: "label",
        step:60
    })
    .on("slide", function(e,ui) {

    var posX = e.clientX - 20;
    $(".vertical-slider").slider().css({
       marginLeft:posX
     })
});
    .slider.ui-slider {
  border-radius: 20px;
  background: #434d5a;
  border: none;
  height: 10px;
  margin: 1em 4em 4em; }
                    
.slider .ui-slider-handle {
  border-radius: 10px;
  height: 10px;
  width: 10px;
  top: -2px;
  margin-left: -11px;
  border: 2px solid #fffaf7; }
                    
    .slider .ui-slider-pip.ui-slider-pip-last .ui-slider-label,
    .slider .ui-slider-pip .ui-slider-label,
    .slider .ui-slider-pip.ui-slider-pip-first .ui-slider-label { 
      color: blue;} 
      #vertical-slider {
    height: 150px;
    margin-left: 300px;
}
<!doctype html>
<html lang="us">
<head>
	<meta charset="utf-8">
	<title>jQuery UI Example Page</title>
	<link rel="stylesheet" href="https://code.jquery.com/ui/1.10.4/themes/flick/jquery-ui.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jQuery-ui-Slider-Pips/1.11.4/jquery-ui-slider-pips.css">
	<!-- include the jQuery and jQuery UI scripts -->
	<script src="https://code.jquery.com/jquery-2.1.1.js"></script>
	<script src="https://code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery-ui-Slider-Pips/1.11.4/jquery-ui-slider-pips.js"></script>
</head>
<body>

<!-- Slider -->
<br><br>
<div class="vertical-slider" id="vertical-slider"></div>
<div class="slider" id="slider"></div>

 </body>

最佳答案

$(".vertical-slider").slider().css({
   marginLeft:posX
 })

也许你不应该使用通配符选择器 $(".vertical-slider") 而应该使用与你的元素相关的东西,例如

$(el).closest(".vertical-slider")

关于javascript - jQuery 多处理范围 slider 空闲到处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53678193/

相关文章:

jquery - 从 C# 通用列表解析 json 响应

html - 在 angularjs 中路由时,CSS 未加载到其他 View 中

php - 开源语言识别库?

javascript - 如何处理 react 中的异步功能?

javascript - 使用 render_template 重新渲染不起作用

javascript - .wrapAll,除了通用包装器内的一个

jquery - 单级联下拉(替代 ASP.net 中使用的)

html - 如何隐藏 optgroup 标签?

javascript - Angular2(混合模式)无法将指令降级为 NG1(ES5)

javascript - MUI Select - 更改选择大小