- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Scrollspy 的 Jquery 独立实现。我在这里有一个关于我的问题的 jsfiddle 示例:http://jsfiddle.net/2acyu/66/
当页面向下滚动到 3 个部分时,顶部导航链接会突出显示。
工作正常!
我的问题是我想要一些可以切换的隐藏元素。当显示一些附加内容并且其中一个部分被展开时,它会抛出滚动 spy 。尝试展开隐藏文本,然后向下滚动。由于容器 div 的偏移值已更改,因此在此部分到达页面顶部之前,文本 2 的链接会突出显示。
Bootstrap版本的scrollSpy有一个“刷新”方法,可以在添加/更改DOM中的元素时调用该方法来修复这种情况。然而,我使用的 Scrollspy 的独立 JQuery 版本却没有。
另一个网站上的有人建议使用:
$(window).unbind("scroll");
然后重新创建小部件。
但我不确定如何实现此修复。
感谢任何帮助。
最佳答案
我遇到过这样的情况,我有一个固定大小的可滚动 div,我希望里面的内容随着用户向下滚动而动态增长。解决问题的关键是查看滚动 spy 源并找出最小/最大设置可以是函数,而不仅仅是静态值。因此,我将最小/最大设置设置为根据增长内容的当前大小返回值的函数。这样,当用户滚动时,内容会增长,并且滚动 spy 最小/最大设置会适当调整。
$('.locked-size-container').scrollspy({
min: function () {
// Adjust the 'enter' start position according to the container size
return ($('.dynamic-size-container').height() / 3);
},
max: function () {
// Adjust the 'enter' end position according to the container size
return $('.dynamic-size-container').height();
},
container: $('.locked-size-container')[0],
onEnter: function() {
console.log('loading new content...');
...
}
});
关于Jquery Scrollspy 需要刷新功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18915276/
我是一名优秀的程序员,十分优秀!