0

所以事情就是这样,我有一个高度很大的侧边栏,因为有很多导航链接。我正在使用 jQuery nicescroll 插件让它看起来很好。在侧边栏中,我还有 h3 标签,它会产生每 4 秒显示字母(见代码)的随机效果。因此,当它打开时 - 滚动在这 4 秒内根本不起作用,您无法进行任何滚动。我尝试使用$("#sidebar").getNiceScroll().resize(),但它也不起作用。有什么办法让它工作吗?

<div id="sidebar">
<h3 id="output">Random</h3>
</div>

//Calling for nicescroll function for my sidebar
$(function(){
    $("#sidebar").niceScroll({ cursorcolor:"#66aee9", cursorfixedheight: 400 });
})


//Random effect for my h3 tag
setInterval(function(){
  $(document).ready(function(){
  var theLetters = "abcdefghijklmnopqrstuvwxyz#%&^+=-"; //You can customize what letters it will cycle through
  var ctnt = "Random"; // Your text goes here
  var speed = 50; // ms per frame
  var increment = 8; // frames per step. Must be >2
  var clen = ctnt.length;
  var si = 0;
  var stri = 0;
  var block = "";
  var fixed = "";
  //Call self x times, whole function wrapped in setTimeout
  (function rustle (i) {
  setTimeout(function () {
    if (--i){rustle(i);}
    nextFrame(i);
    si = si + 1;
  }, speed);
  })(clen*increment+1);
  function nextFrame(pos){
    for (var i=0; i<clen-stri; i++) {
      //Random number
      var num = Math.floor(theLetters.length * Math.random());
      //Get random letter
      var letter = theLetters.charAt(num);
      block = block + letter;
    }
    if (si == (increment-1)){
      stri++;
    }
    if (si == increment){
    // Add a letter;
    // every speed*10 ms
    fixed = fixed +  ctnt.charAt(stri - 1);
    si = 0;
    }
    $("#output").html(fixed + block);
    block = "";
  }
  });
}, 4000);
4

1 回答 1

0

我更改为 rows 并在jsfiddle中检查它,看起来滚动正常。

前:

setInterval(function(){
  $(document).ready(function(){
...
  });
}, 4000);

后:

$(document).ready(function(){
  setInterval(function(){
...
  }, 4000);
});
于 2017-06-10T19:46:50.377 回答