2

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

我希望它不要弹跳。

jsFiddle 示例

<!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>
4

1 回答 1

7

您只需要更改.ui-slider-handlelike 的下边距:

工作示例

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

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

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

于 2013-08-25T17:36:06.237 回答