我在overflow:hidden;
的div中有很多跨度因为div宽度是固定的,所以最初只能看到5个跨度。单击按钮时,如何滑动到某个范围使其可见?
JQUERY
$("#gobtn").click(function (e) {
$("span.selected").removeClass('selected');
var s = $('#nr').val();
$("#c" + s).addClass('selected');
//$("#c" + s).???
});
HTML
<div class='container'>
<div class='circles'>
<span id='c1'>1</span>
<span id='c2'>2</span>
<span id='c3'>3</span>
<span id='c4'>4</span>
<span id='c5'>5</span>
<span id='c6'>6</span>
<span id='c7'>7</span>
<span id='c8'>8</span>
<span id='c9'>9</span>
<span id='c10'>10</span>
</div>
</div>
<br /><br/>
Go to circle nr. <input id='nr' type="text" />
<input type='button' id='gobtn' value='go!'>
CSS
span {
border: solid 1px Silver;
height: 14px;
width: 14px;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
border-radius: 50%;
float: left;
background-color: #fff;
cursor: pointer;
font-size:10px;
text-align:center;
margin-right:50px;
}
.circles {
width:9000px;
}
.container {
width:300px;
display:block;
overflow:hidden;
border:solid 2px #eee;
padding:10px;
}
.selected
{
background-color:Yellow;
}
答案 0 :(得分:5)
将position: relative
添加到circles
课程。并使用left
方法设置animate
属性。
答案 1 :(得分:1)
为circles
函数中的click
类的左边距设置动画:
$("#gobtn").click(function (e) {
$("span.selected").removeClass('selected');
var s = $('#nr').val();
$("#c" + s).addClass('selected');
$(".circles").animate({
marginLeft: '-' + (parseInt(s-1) * 40) + 'px'
}, 500);
});
仍然需要精确调整,以便将数字准确地输入到您想要的位置,即应该选择始终位于中间位置。