我正在使用Bootstrap 3.0并使用scrollspy进行项目,scrollspy运行良好,但有一些注意事项:
1-当页面滚动或单击导航栏中的链接之一将我带到我指向的位置时,如何添加时间延迟?
2-scrollspy位置不正确(例如,当我滚动到特定位置时,我总是在它上方,相差约60px)。
谢谢
对于时间延迟,当我很好地理解你时,请尝试如下操作:
var tmp = $.fn.scrollspy.Constructor.prototype.process;
$.fn.scrollspy.Constructor.prototype.process = function () {
console.log('ff wachten')
var that = this;
setTimeout(function(){tmp.call(that)},5000);
}
在包含 scrollspy.js 之后添加它。但是你还必须在它自己喜欢的点击事件上添加一个延迟:(来自: http://www.jquery4u.com/jquery-functions/delay-sleep-pause-wait/)
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
$('.navbar-nav a').click(function(){sleep(5000); console.log('slept'); return true;});
现在你得到了双倍的延迟,所以做一个组合:
var tmp = $.fn.scrollspy.Constructor.prototype.process;
var delay = 5000 //ms
$.fn.scrollspy.Constructor.prototype.process = function () {
console.log('ff wachten')
var that = this;
setTimeout(function(){tmp.call(that)},delay);
delay=5000;
}
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
阿拉伯数字
选项可以通过数据属性或JavaScript传递。对于数据 属性,将选项名称附加到 data-,如 data-offset=" 所示。
名称类型 默认说明 偏移数 10 要偏移的像素 计算滚动位置时的顶部。