粘滞部分滚动javascript

时间:2015-07-18 20:26:46

标签: javascript jquery

我还没有找到做我想做的事情的解决方案,但我确信有。

我有一个可滚动的div(溢出),里面有div。滚动用途适用于触摸屏。

我希望用户能够按他喜欢的方式滚动,但是一旦他停止滚动,完全在父div的视口内的第一个div需要坚持到父div的顶部。

我猜基本上就像赌场轮盘赌。如果停止滚动,则不能在视口中间部分显示div。你只能在滚动时拥有它。

另一个例子是time selector like the iphone one

如果停止滚动,则会选择最接近的值。这就是我需要的,在父div中。

这是我的html结构,内部div只是为了摆脱滚动条:

$(document).ready(function () {
    var pos = $('.current').offset();
    var left = (pos.left - $('#inside_left').offset().left);
    var right = (pos.top - $('#inside_left').offset().top);
    $("#inside_left").scroll(function () {
        if ($(this).scrollTop() + $(this).innerHeight() >= $(this)[0].scrollHeight) {
            alert('bottom');
        }
    });
    $('#inside_left').click(function () {
        $('#frame_current').css("height", $('.current').height());
        $('#frame_current').css("width", $('.current').width());
        if ($('.current').isOnScreen() == true) {
            alert('icansee');
        }
    });
});
#left_column {
    float: left;
    width: 40%;
    height: 100vh;
    background-color: red;
    overflow: hidden;
}
#inside_left {
    width: 125%;
    overflow-y: scroll;
    height: 100vh;
}
.section {
    position: relative;
    width: 90%;
    height: 20%;
    background-color: green;
    margin-bottom: 1px;
}
<div id="parent">
    <div id="inside">
        <div class="section"></div>
        <div class="section"></div>
        <div class="section"></div>
        <div class="section"></div>
    </div>
</div>

1 个答案:

答案 0 :(得分:0)

如果您打算使用整页部分,在我看来这是唯一的解决方案,如果您想在用户停止滚动时粘贴每个部分,那么您可以使用我的fullPage.js库来完成。

只需使用normalScroll:true选项fitToSection

选项db.collection.aggregate({ $unwind: "$pay_info" }, { $match: { "pay_info.pay_type": 1 } }, { $group: { _id: "$_id", "pay_info": { $push: "$pay_info" }, "order_id": { $first: "$order_id" }, "order_pay_time": { $first: "$order_pay_time" } } }) 可以产生&#34;粘性效果&#34;默认情况下已激活。