Twitter bootstrap 如何为Bootstrap3.0 scrollspy添加时间延迟和固定位置?
我正在使用Bootstrap 3.0和scrollspy进行一个项目,scrollspy运行良好,但有一些注意事项: 1-当页面滚动或单击导航栏中的一个链接将我带到我指向的位置时,如何添加时间延迟 2-scrollspy位置不正确(例如,当我滚动到特定位置时,我总是在其上方,相差约60像素)Twitter bootstrap 如何为Bootstrap3.0 scrollspy添加时间延迟和固定位置?,twitter-bootstrap,twitter-bootstrap-3,Twitter Bootstrap,Twitter Bootstrap 3,我正在使用Bootstrap 3.0和scrollspy进行一个项目,scrollspy运行良好,但有一些注意事项: 1-当页面滚动或单击导航栏中的一个链接将我带到我指向的位置时,如何添加时间延迟 2-scrollspy位置不正确(例如,当我滚动到特定位置时,我总是在其上方,相差约60像素) 谢谢你耽误了我的时间,如果我能很好地理解你的意思,请尝试以下方法: var tmp = $.fn.scrollspy.Constructor.prototype.process; $.fn.scrolls
谢谢你耽误了我的时间,如果我能很好地理解你的意思,请尝试以下方法:
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之后添加此项。但你也必须在点击事件上添加延迟,就像它自己一样:
(发件人:)
函数睡眠(毫秒){
var start=new Date().getTime();
对于(变量i=0;i<1e7;i++){
如果((新日期().getTime()-start)>毫秒){
打破
}
}
}
$('.navbar nav a')。单击(函数(){sleep(5000);console.log('sleep');返回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;
}
}
}
var tmp=$.fn.scrollspy.Constructor.prototype.process;
var延迟=5000//ms
$.fn.scrollspy.Constructor.prototype.process=函数(){
console.log('ff wachten')
var=这个;
setTimeout(function(){tmp.call(that)},delay);
延迟=5000;
}
函数睡眠(毫秒){
var start=new Date().getTime();
对于(变量i=0;i<1e7;i++){
如果((新日期().getTime()-start)>毫秒){
打破
}
}
}
2
选项可以通过数据属性或JavaScript传递。获取数据
属性,将选项名称附加到数据-,如数据偏移量=“”
名称类型默认描述偏移量要从中偏移的10个像素数
在计算滚动条的位置时位于顶部
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;
}
}
}