gpt4 book ai didi

jquery - 如何阻止 jquery UI slider 滑出装订线?

转载 作者:行者123 更新时间:2023-12-03 22:09:36 25 4
gpt4 key购买 nike

我使用 jquery-ui slider 作为横向滚动条,并且遇到了 handle 滑出末端装订线的问题(如果将 slider 滑动到最右侧,可以看到 here) 。我已经尝试了所有我能想到的 CSS 方法,试图让句柄不超出排水沟,但没有成功。任何建议将不胜感激。

为了澄清,我添加了下图来显示问题(这是非常微妙的,因为句柄很小,但是如果您在 CSS 中创建一个大句柄,则句柄 恰好 其宽度的一半超出排水沟)。

Here是一个jsbin的问题。基本上我希望 handle 留在排水沟内。

alt text

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
<link href="http://code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.min.css" rel="stylesheet" type="text/css" />
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>

<style type="text/css">

.demo {
width: 800px;
margin: 50px auto 0 auto;
}



.ui-slider-horizontal {
background: #DFEFFC none repeat scroll 0 0;
}

.ui-slider .ui-slider-handle {
background-image:url(http://img207.imageshack.us/img207/7760/sliderhandle.png);
cursor:default;
height:15px;
position: absolute;
width:27px;
z-index:2;
margin-left: -1px;
margin-top: 3px;
}

.ui-slider
{
position:relative;
text-align:left;
}


</style>
<script type="text/javascript">
$(document).ready(function(){
$("#slider").slider({
slide: function( event, ui ) {

//normalise handle position between 0 and 1 relative to slider width
var range = $("#slider").width();//width of slider
var normalised = $("#slider1handle").position().left / range;

//normalise between desired range: 0:HandleWidth
var range2 = $("#slider1handle").width();
normalised = (normalised*range2) + 1;

var marginAmount = -1*normalised;
$("#slider1handle").css("margin-left", marginAmount);
}

});
$('a.ui-slider-handle').attr('id', "slider1handle");



});
</script>
</head>
<body>
<div class="demo">
<div id="slider"></div>
</div>
</body>
</html>

最佳答案

the handle goes exactly its width beyond the gutter

更像是其宽度的一半,因此它并没有真正移动超过 slider 的末端。正确对齐屏幕截图时,您会看到 handle 的中心位于 slider 的末端,就像我期望的那样进行非常精确的设置。当左侧为 0%,右侧为 100% 时, handle 必须移过末端一点才能选择 100%。

jQuery sliders with a line to indicate the end of the slider

放大 handle 时也是如此。在您的情况下,当 handle 在右边缘上移动超过其宽度的一半时,那么我认为它在左侧的延伸少于?当 playing with the CSS a bit我用巨大的 handle 得到了同样的效果,例如:

.ui-slider-horizontal .ui-state-default {  /** Defaults:       margin-left: -0.6em;      top: -0.3em;  */  width: 69px;  height: 140px;  margin-left: -39px;  top: -68px;}

更好 shown使用箭头,有点破解:

.ui-slider-horizontal .ui-state-default {  width: 40px;  margin-left: -20px;  top: 15px;  background-color: white;  background-image: url('/image/ObK9i.png');  background-repeat: no-repeat;  border: 0;}

Slider with arrow to show gutter

但是,至于用作滚动条,请参阅slider scrollbar demo ,这似乎可以满足您的要求? 使用 slider 来操纵页面上内容的位置。在这种情况下,它充当滚动条,可以在需要时捕获值。

关于jquery - 如何阻止 jquery UI slider 滑出装订线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1273428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com