如何添加时间延迟并修复位置到引导 3.0 滚动



我正在使用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 要偏移的像素 计算滚动位置时的顶部。

最新更新