我正在开发一个使用Bootstrap 3.0并使用scrollspy的项目,这个卷轴工作正常,但有一些注意事项:
1-如何在页面滚动或点击导航栏中的某个链接时添加时间延迟,将我带到我指向的位置?
2- scrollspy位置不正确(例如,当我滚动到特定位置时,我总是高于它,差异大约为60px)。
感谢
答案 0 :(得分:0)
延迟时间,当我理解你的时候,尝试类似的事情:
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;
}
}
}
<强> 2 强>
选项可以通过数据属性或JavaScript传递。对于数据 属性,将选项名称附加到data-,如data-offset =“”。
名称类型默认描述偏移数量10要偏移的像素数 在计算滚动位置时最高。