简体   繁体   English

使用javascript从div中选中复选框时自动滚动

[英]Auto scroll while selecting checkbox from div using javascript

i have two division tag one for maintain overflow content and another contain the check box when i click any check box i just need to scroll bar depending up on the check box ie there is 20 check box, 9-10 are visible, if you want other then you have to scroll scroll bar, but i want functionality like when i click on 9 check box and the user want to go forward then 10 check box come up automatic. 我有两个除法标记,一个用于维护溢出内容,另一个在单击任何复选框时包含复选框,我只需要根据复选框滚动条即可,即有20个复选框,可见9-10,如果需要否则,您必须滚动滚动条,但是我想要功能,例如当我单击9复选框时,用户想要前进,然后自动出现10复选框。 this functionality already provided in hot mail for selecting the mail. 热邮件中已经提供了用于选择邮件的此功能。

for that one i have use following 为此,我使用以下

<div>
<div id="text" style="width: 500px; height:200px; border: solid 1px grey; overflow: scroll;">
    <input id="check1" type="checkbox" onclick="update(this.id)">Auto-scroll1<br>
    <input id="check2" type="checkbox" onclick="update(this.id)">Auto-scroll2<br>
    <input id="check3" type="checkbox" onclick="update(this.id)">Auto-scroll3<br>
    <input id="check4" type="checkbox" onclick="update(this.id)">Auto-scroll4<br>
    <input id="check5" type="checkbox" onclick="update(this.id)">Auto-scroll5<br>
    <input id="check6" type="checkbox" onclick="update(this.id)">Auto-scroll6<br>
    <input id="check7" type="checkbox" onclick="update(this.id)">Auto-scroll7<br>
    <input id="check8" type="checkbox" onclick="update(this.id)">Auto-scroll8<br>
    <input id="check9" type="checkbox" onclick="update(this.id)">Auto-scroll9<br>
    <input id="check10" type="checkbox" onclick="update(this.id)">Auto-scroll10<br>
    <input id="check11" type="checkbox" onclick="update(this.id)">Auto-scroll11<br>
    <input id="check12" type="checkbox" onclick="update(this.id)">Auto-scroll12<br>
    <input id="check13" type="checkbox" onclick="update(this.id)">Auto-scroll13<br>
    <input id="check14" type="checkbox" onclick="update(this.id)">Auto-scroll14<br>
    <input id="check15" type="checkbox" onclick="update(this.id)">Auto-scroll15<br>
    <input id="check16" type="checkbox" onclick="update(this.id)">Auto-scroll16<br>
    <input id="check17" type="checkbox" onclick="update(this.id)">Auto-scroll17<br>
    <input id="check18" type="checkbox" onclick="update(this.id)">Auto-scroll18<br>
    <input id="check19" type="checkbox" onclick="update(this.id)">Auto-scroll19<br>
    <input id="check20" type="checkbox" onclick="update(this.id)">Auto-scroll20<br>
    <script type="text/javascript">
        function update(checkID) {
            var box = document.getElementById("checkID");
            var tag = document.getElementById("text");
            tag.scrollTop = tag.scrollTop - 17;
            setTimeout('update(checkID)', 1000);
        }
    </script>
</div>
</div>

how to scroll scroll bar when user select check box from the list and also if user selecting forward than scroll down or user select backward than scroll up as per the user requirement 当用户从列表中选择复选框时,以及用户选择向前滚动而不是向下滚动或用户选择向后滚动而不是向上滚动时如何滚动滚动条

please help me thanks in advance ... 请事先帮助我...

I think i did what you want. 我想我做了你想要的。 You will need jQuery for this. 您将为此需要jQuery。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>

<div id="text" style="width:500px;height:200px;border:solid 1px grey;overflow:scroll;">
    <input type="checkbox" />Auto-scroll1<br/>
    <input type="checkbox" />Auto-scroll2<br/>
    <input type="checkbox" />Auto-scroll3<br/>
    <input type="checkbox" />Auto-scroll4<br/>
    <input type="checkbox" />Auto-scroll5<br/>
    <input type="checkbox" />Auto-scroll6<br/>
    <input type="checkbox" />Auto-scroll7<br/>
    <input type="checkbox" />Auto-scroll8<br/>
    <input type="checkbox" />Auto-scroll9<br/>
    <input type="checkbox" />Auto-scroll10<br/>
    <input type="checkbox" />Auto-scroll11<br/>
    <input type="checkbox" />Auto-scroll12<br/>
    <input type="checkbox" />Auto-scroll13<br/>
    <input type="checkbox" />Auto-scroll14<br/>
    <input type="checkbox" />Auto-scroll15<br/>
    <input type="checkbox" />Auto-scroll16<br/>
    <input type="checkbox" />Auto-scroll17<br/>
    <input type="checkbox" />Auto-scroll18<br/>
    <input type="checkbox" />Auto-scroll19<br/>
    <input type="checkbox" />Auto-scroll20<br/>
</div>

<script type="text/javascript">
$(function() {
    var ct = $('#text'),
        cboxes = $('input[type="checkbox"]', ct),
        lastChecked = null;

    cboxes.click(function() {
        if (!lastChecked)
            lastChecked = this;

        var _current = $(this),
            _last = $(lastChecked),
            cindex = cboxes.index(_current),
            lindex = cboxes.index(_last),
            t = null;

        //next
        if (cindex >= lindex) {
            t = $(cboxes[cindex + 1]);
            if (t) ct.animate({ scrollTop: ct.scrollTop() + t.height() * 1.5 }, 500);

        //prev
        } else if (cindex < lindex) {
            t = $(cboxes[cindex - 1]);
            if (t) ct.animate({ scrollTop: ct.scrollTop() - t.height() * 1.5 }, 500);
        }

        lastChecked = this;
    });
});
</script>

see this 看到这个

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM