【问题标题】:Jquery Waypoints RefreshJquery Waypoints 刷新
【发布时间】:2012-05-04 11:04:59
【问题描述】:

我正在处理一个页面,该页面使用航点创建一个粘性 div,该 div 以 position: fixed 向下滚动页面,直到它到达其父 div 的底部。我使用的代码按预期工作,直到调用 $.waypoints('refresh') 然后粘性 div 跳回页面顶部并失去其固定位置。

代码如下:

$('#content').waypoint(function(event, direction){
if (direction === 'down') {
    $(this).removeClass('sticky').addClass('bottomed');
}
else {
    $(this).removeClass('bottomed').addClass('sticky');
}
}, {
    offset: function() {
    return $('#leftCol').outerHeight() - $('#content').outerHeight();
}

}).find('#leftCol').waypoint(function(event, direction) {
    $(this).parent().toggleClass('sticky', direction === "down");
    event.stopPropagation();
         });        

#leftCol 是向下滚动页面的 div,#content 是它的父 div。

我的css是:

#content {
width: 975px;
height: auto;
position: relative;
margin-top: 10px;
margin-bottom: 20px;
min-height: 800px;
}

#leftCol {
position: absolute;
width: 974px;
}

.sticky #leftCol {
position:fixed !important;
top:0 !important;
left: 50% !important;
width: 974px !important;
margin-left: -488px;
}

.bottomed #leftCol {
position: absolute !important;
bottom: 0px;
}

任何关于如何在调用 $.waypoints('refresh') 时保持#leftCol 位置的想法将不胜感激。

谢谢

【问题讨论】:

    标签: jquery jquery-waypoints


    【解决方案1】:

    不要,不要,永远不要使用fixed位置元素作为航点。在 GitHub 上查看以下所有已关闭的问题:#64#44#32#26#24#13#10#4

    这很容易成为关于 Waypoint 最容易被误解的事情,而且我没有充分说明 Waypoint 的工作原理,这绝对是我的错。我计划在插件的下一次迭代中更清楚地说明这一点。

    对于任何想知道的人:Waypoints 通过查看元素的页面偏移量来工作。但是固定位置元素的页面偏移量会随着用户滚动而不断变化。因此,无论何时调用刷新,无论是手动、添加另一个航点还是通过调整浏览器大小,该航点的位置都会更改以匹配用户当时在页面滚动中所处的位置。您想要的是一个正常的静态位置元素,它不会让文档流成为航点。在我在 Waypoints 项目网站上给出的示例中,waypoint 是一个保持原位的包装元素,而 nav 它通过 CSS 包装了固定定位的增益和丢失。对于不了解页面偏移量和 CSS 的人来说,执行 OP 在这里所做的事情非常容易,因为它看起来很直观。同样,这将在未来的文档/示例中更直接地解决。

    【讨论】:

    • 啊可爱,做到了!感谢这么快的回复
    • 这给了我一个关于如何解决我的问题的提示。除了调整窗口大小外,我的一切工作都很好。 stackoverflow.com/questions/18221351/…
    • 再次阅读我的答案的第一行。你还在这样做。你应该让你的 wrappers 成为航路点。
    • 非常感谢。没有将航点放在固定元素上就可以了
    • @imakewebthings 感谢您的提醒,我一直在使用它来创建粘性标题。现在更新为本机脚本方法:-)
    猜你喜欢
    • 2013-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    • 2014-03-07
    相关资源
    最近更新 更多