Javascript jquery计数器不工作

Javascript jquery计数器不工作,javascript,jquery,html,css,counter,Javascript,Jquery,Html,Css,Counter,我在我的站点上有两个计数器,当我加载我的页面时,它们会计数。但当我的屏幕宽度低于800像素时。当我加载页面时,它们不会自动启动 但是,如果我真的快速滚动到该点,它们就位于该站点上。他们确实开始了。而且全屏也很好用。在手机上,它们也可以工作 以下是jquery代码: if (jQuery('.shortcode_counter').size() > 0) { if (jQuery(window).width() > 760) { jQuery('.shortco

我在我的站点上有两个计数器,当我加载我的页面时,它们会计数。但当我的屏幕宽度低于800像素时。当我加载页面时,它们不会自动启动

但是,如果我真的快速滚动到该点,它们就位于该站点上。他们确实开始了。而且全屏也很好用。在手机上,它们也可以工作

以下是jquery代码:

if (jQuery('.shortcode_counter').size() > 0) {
    if (jQuery(window).width() > 760) {
        jQuery('.shortcode_counter').each(function(){
            if (jQuery(this).offset().top < jQuery(window).height()) {
                if (!jQuery(this).hasClass('done')) {
                    var set_count = jQuery(this).find('.stat_count').attr('data-count');
                    jQuery(this).find('.stat_temp').stop().animate({width: set_count}, {duration: 3000, step: function(now) {
                            var data = Math.floor(now);
                            jQuery(this).parents('.counter_wrapper').find('.stat_count').html(data);
                        }
                    });
                    jQuery(this).addClass('done');
                    jQuery(this).find('.stat_count');
                }
            } else {
                jQuery(this).waypoint(function(){
                    if (!jQuery(this).hasClass('done')) {
                        var set_count = jQuery(this).find('.stat_count').attr('data-count');
                        jQuery(this).find('.stat_temp').stop().animate({width: set_count}, {duration: 3000, step: function(now) {
                                var data = Math.floor(now);
                                jQuery(this).parents('.counter_wrapper').find('.stat_count').html(data);
                            }
                        });
                        jQuery(this).addClass('done');
                        jQuery(this).find('.stat_count');
                    }
                },{offset: 'bottom-in-view'});
            }
        });
    }
} 

我对这件事一无所知。所以我想把它贴在这里。与此同时,我正在努力解决这个问题

所以如果有人知道这个问题的解决方法。求你了

提前谢谢!快乐编码

声明:

添加了工作JSFIDLE。问题是。我的错误仅在计数器最初不在屏幕上时发生。宽度在800px以下。在JSFIDLE中,它总是在屏幕上,对吗

第2条:

我找到了这一排

jQuery(this).waypoint(function(){

},{offset: 'bottom-in-view'});
第3条:

很明显,我发现问题出在另一排。我已经把它放在下面的答案中,但我也会把它放在这里:

删除:

jQuery(this).waypoint(function(){

},{offset: 'bottom-in-view'});

现在可以很好地工作了。

我不完全确定您所说的“我的错误只在计数器最初不在屏幕上时发生”是什么意思

但这就是你想要的吗:

我唯一改变的是这句话:

if (jQuery(window).width() > 260) {
此外,如果不需要
width()
,则只需将其删除,代码应如下所示:

if (jQuery('.shortcode_counter').size() > 0) {

            jQuery('.shortcode_counter').each(function(){
                if (jQuery(this).offset().top < jQuery(window).height()) {
                    if (!jQuery(this).hasClass('done')) {
                        var set_count = jQuery(this).find('.stat_count').attr('data-count');
                        jQuery(this).find('.stat_temp').stop().animate({width: set_count}, {duration: 3000, step: function(now) {
                                var data = Math.floor(now);
                                jQuery(this).parents('.counter_wrapper').find('.stat_count').html(data);
                            }
                        });
                        jQuery(this).addClass('done');
                        jQuery(this).find('.stat_count');
                    }
                } else {
                    jQuery(this).waypoint(function(){
                        if (!jQuery(this).hasClass('done')) {
                            var set_count = jQuery(this).find('.stat_count').attr('data-count');
                            jQuery(this).find('.stat_temp').stop().animate({width: set_count}, {duration: 3000, step: function(now) {
                                    var data = Math.floor(now);
                                    jQuery(this).parents('.counter_wrapper').find('.stat_count').html(data);
                                }
                            });
                            jQuery(this).addClass('done');
                            jQuery(this).find('.stat_count');
                        }
                    },{offset: 'bottom-in-view'});
                }
            });

    }
if(jQuery('.shortcode_计数器').size()>0){
jQuery('.shortcode_counter')。每个(函数(){
if(jQuery(this).offset().top
下面是一个没有width()场景的小提琴:


我不完全确定您所说的“我的错误只在计数器最初不在屏幕上时发生”是什么意思

但这就是你想要的吗:

我唯一改变的是这句话:

if (jQuery(window).width() > 260) {
此外,如果不需要
width()
,则只需将其删除,代码应如下所示:

if (jQuery('.shortcode_counter').size() > 0) {

            jQuery('.shortcode_counter').each(function(){
                if (jQuery(this).offset().top < jQuery(window).height()) {
                    if (!jQuery(this).hasClass('done')) {
                        var set_count = jQuery(this).find('.stat_count').attr('data-count');
                        jQuery(this).find('.stat_temp').stop().animate({width: set_count}, {duration: 3000, step: function(now) {
                                var data = Math.floor(now);
                                jQuery(this).parents('.counter_wrapper').find('.stat_count').html(data);
                            }
                        });
                        jQuery(this).addClass('done');
                        jQuery(this).find('.stat_count');
                    }
                } else {
                    jQuery(this).waypoint(function(){
                        if (!jQuery(this).hasClass('done')) {
                            var set_count = jQuery(this).find('.stat_count').attr('data-count');
                            jQuery(this).find('.stat_temp').stop().animate({width: set_count}, {duration: 3000, step: function(now) {
                                    var data = Math.floor(now);
                                    jQuery(this).parents('.counter_wrapper').find('.stat_count').html(data);
                                }
                            });
                            jQuery(this).addClass('done');
                            jQuery(this).find('.stat_count');
                        }
                    },{offset: 'bottom-in-view'});
                }
            });

    }
if(jQuery('.shortcode_计数器').size()>0){
jQuery('.shortcode_counter')。每个(函数(){
if(jQuery(this).offset().top
下面是一个没有width()场景的小提琴:


显然是这个功能:

jQuery(this).waypoint(function(){

},{offset: 'bottom-in-view'});

我删除了行,它又能正常工作了。

很明显,这是一个函数:

jQuery(this).waypoint(function(){

},{offset: 'bottom-in-view'});

我删除了这些行,它又能正常工作了。

你能提供一把可用的小提琴吗?我试试。等一下@DavidHope@DavidHope添加了JSFIDLE您能提供一个可用的小提琴吗?我试试。等一下@DavidHope@DavidHope添加了jsfiddleve,找到了它的
if(jQuery(this).offset().top
if-else语句。但是,它会进入链接到该if语句的else。现在有些地方出错了,甚至更准确。它是这样一句话:
jQuery(this).waypoint(function(){
},{offset:'bottomin view'})Iv