Javascript 航路点计数器向上(然后向下)计数,不';当div处于即时视图时,不能执行脚本

Javascript 航路点计数器向上(然后向下)计数,不';当div处于即时视图时,不能执行脚本,javascript,jquery,jquery-waypoints,waypoint,Javascript,Jquery,Jquery Waypoints,Waypoint,我有一个数字自动计数器。为了演示的目的,这是。它向上计数,然后停止 现在,我试图在查看#ticker时执行ticker脚本。为此,我使用了航路点。但是,我有以下问题: 只要#ticker在视图中,脚本就不会立即执行。事实上,我必须滚动过去,然后当我向上滚动时,它开始计数 计数器在向上计数,先打到最后一个数字,然后再倒计时?我只希望它计数,并停止在结束数字加字符串(在这种情况下是16000+) 为什么会这样 演示: $(文档).ready(函数(){ $('#ticker')。航路点(函数(){

我有一个数字自动计数器。为了演示的目的,这是。它向上计数,然后停止

现在,我试图在查看
#ticker
时执行ticker脚本。为此,我使用了
航路点
。但是,我有以下问题:

  • 只要
    #ticker
    在视图中,脚本就不会立即执行。事实上,我必须滚动过去,然后当我向上滚动时,它开始计数
  • 计数器在向上计数,先打到最后一个数字,然后再倒计时?我只希望它计数,并停止在结束数字加字符串(在这种情况下是16000+) 为什么会这样

    演示:

    $(文档).ready(函数(){
    $('#ticker')。航路点(函数(){
    $('.count')。每个(函数(){
    const initial=$(this.text())
    常量格式=格式化程序(初始)
    $(this.prop('Counter',0)。设置动画({
    计数器:format.value
    }, {
    时长:3000,
    放松:"摇摆",,
    步骤:功能(现在){
    $(this.text(format.revert(Math.ceil(now));
    }
    });
    });
    });
    })
    函数格式化程序(str){
    //常数delimeter='-'
    常量字符='x'
    const template=str.replace(/\d/g,char)
    常量值=str.replace(/\D/g,“”)
    功能恢复(val){
    //需要更好的解决方案吗
    const valStr=val.toString()
    让结果=“”
    设指数=0
    for(设i=0;i
    .gap{
    背景:浅灰色;
    高度:600px;
    }
    
    16,000+
    
    航路点插件有一个选项
    offset
    ,用于确定在哪个位置触发处理程序,默认情况下为
    0
    。这意味着只有当元素到达浏览器的上边缘时,才会触发处理程序,并且每次元素到达浏览器的上边缘时都会触发处理程序

    这就是你的情况,你只需要把偏移量传递给航路点,它就会被修正

    $(文档).ready(函数(){
    $('#ticker')。航路点({
    处理程序:函数(){
    $('.count')。每个(函数(){
    const initial=$(this.text())
    常量格式=格式化程序(初始)
    $(this.prop('Counter',0)。设置动画({
    计数器:format.value
    }, {
    时长:3000,
    放松:"摇摆",,
    步骤:功能(现在){
    $(this.text(format.revert(Math.ceil(now));
    }
    });
    });
    },
    抵销:“100%”
    });
    })
    函数格式化程序(str){
    //常数delimeter='-'
    常量字符='x'
    const template=str.replace(/\d/g,char)
    常量值=str.replace(/\D/g,“”)
    功能恢复(val){
    //需要更好的解决方案吗
    const valStr=val.toString()
    让结果=“”
    设指数=0
    for(设i=0;i
    .gap{
    背景:浅灰色;
    高度:600px;
    }
    
    16,000+