我正在尝试构建一个范围滑块来选择地质时间间隔,因此需要一个范围滑块准确定位在图像下方。我几乎得到了这个工作,事实上我有一个版本,只要我不包含声明,否则滑块坚决地保持在图像上方 - 这也是它在jsfiddle中的作用。我可能把css搞砸了,但是一些建议会非常受欢迎 - 一个好的解决方案可以广泛应用。
这里有一个jsfiddle jsfiddle of timescale selctor
HTML
$(document).ready(function() {
var gettop, getbase;
gettop=12; getbase=50;
$( "#geoslider-range" ).slider({
range: true, min: 0, max: 210,
values: [gettop, getbase ],
slide: function( event, ui ) {
$ ( "#top" ).val( ui.values[ 0 ]);
$ ( "#base" ).val( ui.values[ 1 ]);
$( "#amount" ).val( ui.values[ 0 ] + "Ma - " + ui.values[ 1 ] +"Ma" );
} });
//output the values
$ ( "#top" ).val( $( "#geoslider-range" ).slider( "values", 0));
$ ( "#base" ).val( $( "#geoslider-range" ).slider( "values", 1));
$( "#amount" ).val( $( "#geoslider-range" ).slider( "values", 0 ) +
"Ma - " + $( "#geoslider-range" ).slider( "values", 1 ) + "Ma" );
} );
JS
/* size of the box and positioning of slider over image */
.geoframe {
width: 850px;
height: 230px;
position: relative;
display: block;
background-color: white;
border: 0 solid yellow;
margin-bottom: 10px;
}
.sliderpos_inframe {
position: absolute;
top: 20px;
bottom: 20px;
left: 25px;
right: 25px;
background-color: white;
}
#tscaleimage {
width: 100%;
position: absolute;
top: 0;
}
/* vertical position */
#geoslider-range .ui-slider {
position: relative;
top: 165;
z-index: 2;
text-align: left;
}
#geoslider-range .ui-slider-handle {
background: url(http:www.mikrotax.org/Nannotax3/graphics/slider4.png) no-repeat;
border: none;
position: absolute;
top: -148px;
margin-left: -17px;
z-index: 3;
width: 35px;
height: 175px;
cursor: default;
outline: 0 none;
}
/* the coloured box indicating range selected */
#geoslider-range .ui-slider-range {
position: absolute;
z-index: 2;
font-size: 2em;
display: block;
border: 0;
background-position: 0 0;
top: 0%;
height: 100%;
}
CSS
{{1}}
答案 0 :(得分:1)
我刚刚更改了标记和CSS。请在下面找到它们:
HTML
<body>
<b>AGE WINDOW TO SEARCH WITHIN</b>
<p>Current window
<input type="text" name="amount" id="amount" style="border:0; color:#f6931f; font-weight:bold;">
<div class="geoframe">
<div class="sliderpos_inframe">
<img id="tscaleimage" src="http:www.mikrotax.org/Nannotax3/graphics/timescale-narrow-rotated.png" />
</div>
</div>
<div id="geoslider-range"></div>
</p>
</body>
CSS
/* size of the box and positioning of slider over image */
.geoframe {
width: 850px;
height: 230px;
position: relative;
display: block;
background-color: white;
border: 0 solid yellow;
margin-bottom: 10px;
}
.sliderpos_inframe {
position: absolute;
top: 20px;
bottom: 20px;
left: 25px;
right: 25px;
background-color: white;
}
#tscaleimage {
width: 100%;
position: absolute;
top: 0;
}
/* vertical position */
#geoslider-range {
position: relative;
top: -50px;
text-align: left;
left: 25px;
}
#geoslider-range .ui-slider-handle {
background: url(http:www.mikrotax.org/Nannotax3/graphics/slider4.png) no-repeat;
border: none;
position: absolute;
top: -148px;
margin-left: -17px;
z-index: 3;
width: 35px;
height: 175px;
cursor: default;
outline: 0 none;
}
/* the coloured box indicating range selected */
#geoslider-range .ui-slider-range {
position: absolute;
z-index: 2;
font-size: 2em;
display: block;
border: 0;
background-position: 0 0;
top: 0%;
height: 100%;
}
希望这适合你。
结果是:
PS:我真的很喜欢你的滑块应用! :)