Twitter bootstrap 如何为Bootstrap3.0 scrollspy添加时间延迟和固定位置?

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

我正在使用Bootstrap 3.0和scrollspy进行一个项目,scrollspy运行良好,但有一些注意事项:

1-当页面滚动或单击导航栏中的一个链接将我带到我指向的位置时,如何添加时间延迟

2-scrollspy位置不正确(例如,当我滚动到特定位置时,我总是在其上方,相差约60像素)


谢谢你耽误了我的时间,如果我能很好地理解你的意思,请尝试以下方法:

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;
    }
  }
}