Jquery - 滑动到div中的某个位置,溢出:隐藏

时间:2013-03-26 09:09:38

标签: jquery overflow

我在overflow:hidden;的div中有很多跨度因为div宽度是固定的,所以最初只能看到5个跨度。单击按钮时,如何滑动到某个范围使其可见?

LIVE JSFIDDLE

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;
}

2 个答案:

答案 0 :(得分:5)

position: relative添加到circles课程。并使用left方法设置animate属性。

我做了一个。试试this。您可以根据需要改进。

答案 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);
});

http://jsfiddle.net/LdzTH/15/

仍然需要精确调整,以便将数字准确地输入到您想要的位置,即应该选择始终位于中间位置。