美文网首页
jq点击对应的字母滚动到对应的城市

jq点击对应的字母滚动到对应的城市

作者: 每天进步一点点5454 | 来源:发表于2024-09-04 14:58 被阅读0次

无脑直接拿代码可用
demo示例


image.png
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Scroll to Top Example</title>
    <style>
        .city-list-container {
            height: 300px;
            /* 根据需要设置高度 */
            position: relative;
        }

        .city-list {
            position: absolute;
            top: 0;
            left: 0;
        }

        .alphabet {
            position: absolute;
            top: 0;
            right: 0;
            padding: 10px;
        }
    </style>
</head>

<body>
    <div class="city-list-container city-list" style="overflow: auto;    width: 92%;">
        <div class="">
            <!-- 城市列表 -->
            <div class="city"  data-initial="A">
                <p>aaaaaaaaaaaaaaaaaaaaaaaaa</p>
                <p>1111111111111111111111111111</p>
                <p>1111111111111111111111111111</p>
                <p>1111111111111111111111111111</p>
                <p>1111111111111111111111111111</p>
                <p>1111111111111111111111111111</p>
                <p>1111111111111111111111111111</p>
                <p>1111111111111111111111111111</p>
                <p>1111111111111111111111111111</p>
            </div>
            <div class="city"  data-initial="B">
                <p>bbbbbbbbbbbbbbbbbbbb</p>
                <p>2222222222222222</p>
                <p>1111111111111111111111111111</p>
                <p>1111111111111111111111111111</p>
                <p>1111111111111111111111111111</p>
                <p>1111111111111111111111111111</p>
                <p>1111111111111111111111111111</p>
                <p>2222222222222222</p>
                <p>2222222222222222</p>
            </div>
            <div class="city"  data-initial="C">
                <p>ccccccccccccccccccccccc</p>
                <p>333333333333333333</p>
                <p>333333333333333333</p>
                <p>333333333333333333</p>
                <p>333333333333333333</p>
                <p>333333333333333333</p>
                <p>333333333333333333</p>
                <p>333333333333333333</p>

            </div>
            <div class="city"  data-initial="D">
                <p>dddddddddddddddddddddddd</p>
                <p>444444444444444444</p>
                <p>444444444444444444</p>
                <p>444444444444444444</p>
                <p>444444444444444444</p>
                <p>444444444444444444</p>
                <p>444444444444444444</p>
                <p>444444444444444444</p>
                <p>444444444444444444</p>
                <p>444444444444444444</p>
                <p>444444444444444444</p>
                <p>444444444444444444</p>
                <p>444444444444444444</p>
                <p>444444444444444444</p>
            </div>
            <div class="city"  data-initial="E">
                <p>eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee</p>
                <p>55555555555555555555555555555555555</p>
                <p>55555555555555555555555555555555555</p>
                <p>55555555555555555555555555555555555</p>
                <p>55555555555555555555555555555555555</p>
                <p>55555555555555555555555555555555555</p>
                <p>55555555555555555555555555555555555</p>
                <p>55555555555555555555555555555555555</p>
                <p>55555555555555555555555555555555555</p>
                <p>55555555555555555555555555555555555</p>
                <p>55555555555555555555555555555555555</p>
                <p>55555555555555555555555555555555555</p>
            </div>
        </div>
    </div>

        <div class="alphabet">
            <div>A</div>
            <div>B</div>
            <div>C</div>
            <div>D</div>
            <div>E</div>
            <div>F</div>
            <div>G</div>
            <div>H</div>
            <div>I</div>
            <div>J</div>
            <div>K </div>
        </div>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script>
        $(document).ready(function () {
            var cityList = $('.city-list');
            var cityElements = cityList.find('.city'); // 假设每个城市有一个class为city
            var alphabet = $('.alphabet');
            alphabet.on('click', 'div', function () {
                var char = $(this).text();
                var targetCity = cityElements.filter('[data-initial=' + char + ']');
                console.log(targetCity.offset().top)
                if (targetCity.length) {
                    cityList.animate({
                        scrollTop: targetCity.offset().top - cityList.offset().top + cityList.scrollTop()
                    }, 'slow');
                }
            });
        });
    </script>
</body>

</html>

相关文章

网友评论

      本文标题:jq点击对应的字母滚动到对应的城市

      本文链接:https://www.haomeiwen.com/subject/zvolljtx.html