【问题标题】:jQuery UI slider handle jumpsjQuery UI 滑块句柄跳跃
【发布时间】:2013-08-25 16:40:32
【问题描述】:

我正在使用 jQuery UI 滑块。如果我将手柄的高度更改为超过标准(20px),然后单击滑块手柄并向任何方向移动 - 滑块的手柄会跳跃几个像素。

我希望它不要弹跳。

jsFiddle Example

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
  <style type="text/css">
    .ui-slider .ui-slider-handle{
        height: 30px;   
    } 
  </style>
  <script>
  $(function() {
    $(".slider-vertical").slider({
      orientation: "vertical",
    });
  });
  </script>
</head>
<body>
    <div class="slider-vertical"></div>
</body>
</html>

【问题讨论】:

    标签: jquery-ui slider


    【解决方案1】:

    您只需像这样更改.ui-slider-handle 的下边距:

    Working Example

    .ui-slider .ui-slider-handle{
        height: 30px;   
        margin-bottom:-15px;
    }
    

    手柄的位置与其高度有关。默认情况下,手柄的高度为 1.2em,为了使手柄在其位置居中,它的下边距为 1/2 或 -0.6em,因此如果您需要重新调整手柄的大小,则必须进行调整下边距也是如此。

    基本上margin-bottom = 0 - height / 2

    【讨论】:

    • 太好了,太好了,非常感谢!!!我花了大约 20 个小时寻找这个问题的解决方案,结果发现解决方案非常简单。 :)))
    • 答案找到了。主题已关闭。
    • 优秀的答案。我的具体问题是旋转了 90 度,所以左右滑动滑块。同样的答案。 margin-left = 0 - 宽度 /2
    猜你喜欢
    • 1970-01-01
    • 2011-04-12
    • 2011-12-12
    • 2010-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    相关资源
    最近更新 更多