javascript - 当您点击页 footer 分时,使 jQuery 航路点不粘

标签 javascript jquery html css jquery-waypoints

因此,我将 jQuery 航路点用于粘性社交媒体导航,它运行良好,但是,当我点击页脚元素时,它会一直滚动。理想情况下,我希望粘性导航在到达页脚时停留在其父容器(.content)的底部,相反,当用户向上滚动时,粘性导航应再次变为粘性。

有谁知道实现此目标的简单方法? Here's a fiddle .

var sticky = new Waypoint.Sticky({
  element: $('.sticky')[0]
});

最佳答案

您需要在页脚中设置另一个航路点,当粘性 div 将到达页脚(即使用偏移选项设置)时,删除制作 div 的 .stuck 类要修复(通过切换,当页脚让粘性 div 再次显示时,.stuck 类再次出现)。您可以通过以下方式实现这一点:

$('.footer').waypoint(function(direction) {
    $('.sticky').toggleClass('stuck', direction === 'up')
}, {
offset: function() {
    return $('.sticky').outerHeight()
}});

检查这是否是您想要的(希望如此!:)):https://jsfiddle.net/elbecita/mna64waw/3/

编辑:我忘了一件事!!当页脚超过它时,你需要一个用于粘性 div 的类,所以你需要的最终 js 是:

$('.footer').waypoint(function(direction) {
    $('.sticky').toggleClass('stuck', direction === 'up');
    $('.sticky').toggleClass('sticky-surpassed', direction === 'down');
}, { offset: function() {
       return $('.sticky').outerHeight();
}});

.sticky-surpassed 将是:

.sticky-surpassed {
    position:absolute;
    bottom: 0;
}

在此处检查更新:https://jsfiddle.net/elbecita/mna64waw/5/

关于javascript - 当您点击页 footer 分时,使 jQuery 航路点不粘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37853374/

相关文章:

php - 无法获取更新的文本区域值

javascript - 在单选按钮选择上显示文本

javascript - 切换隐藏和显示

javascript - jQuery 将属性添加到 SVG 字符串

javascript - Angular ng-bind-html 展开 anchor 标记

javascript - 过滤输入标签的 dom 对象

javascript - 使用 typescript 访问 DOM 类或 id 的更好方法

javascript - jquery 获取自动编号的输入值并从中创建选择框

tumblr div 高度上的 html 不正常

javascript - #FF 与 0xFF 数字转换