Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 变量在jQuery/JS中不递增?_Javascript_Jquery_Wordpress_Infinite Scroll - Fatal编程技术网

Javascript 变量在jQuery/JS中不递增?

Javascript 变量在jQuery/JS中不递增?,javascript,jquery,wordpress,infinite-scroll,Javascript,Jquery,Wordpress,Infinite Scroll,由于某种原因,我的变量一直重置为2,尽管我想在调用函数时增加变量。这真的让我很恼火,我已经重构了好几次代码,但都没有用!应该很简单 这是我的密码: ( function( $ ) { $( document ).ready( function () { var count = 2; var total = <?php echo $loop->max_num_pages; ?>; if ( c

由于某种原因,我的变量一直重置为2,尽管我想在调用函数时增加变量。这真的让我很恼火,我已经重构了好几次代码,但都没有用!应该很简单

这是我的密码:

( function( $ ) {
        $( document ).ready( function () {
            var count = 2;
            var total = <?php echo $loop->max_num_pages; ?>;
            if ( count <= total ) {
                $( window ).scroll( function() {
                    if ( $( window ).scrollTop() == $( document ).height() - $( window ).height() ) {
                        $.ajax({
                            url: "<?php bloginfo( 'wpurl' ) ?>/wp-admin/admin-ajax.php",
                            type:'POST',
                            data: "action=infinite_scroll&page_no=" + count + '&loop_file=forums', 
                            success: function( html ){
                                $( "#content" ).append( html );
                            }
                        });
                        count++;
                    }
                });
            } else {
                return;
            }
        });
    })( jQuery );
(函数($){
$(文档).ready(函数(){
var计数=2;
风险价值总额=;

if(count在函数外定义count变量

e、 g

var计数=2;
(函数($){
$(文档).ready(函数(){
风险价值总额=;
如果(先算两件事):

var可以缩短为:

var var1 = 'string',
    var2 = 'int';
不要在JS中混用php——这很混乱。创建一个隐藏的范围,给它分配数据标签,然后像那样调用


其次,这是因为每当调用函数时,该值都会被重置。将其放在外部,或传递一个名为count的参数,以便使其更通用,并在整个项目中使用。

这里的问题是var
count
是方法的本地值。这意味着它仅在该方法调用中处于活动状态。下次如果您再次调用函数,它将创建一个不同的
计数
,值为2,因为这是您在声明中指定的值。将变量声明移到方法之外,一切都会好起来。

您不应该使用全局变量谢谢您的回答。我已经更新了我的问题,仍然有问题!我认为您返回的响应中的
html
是否包含再次生成变量的相同脚本?谢谢您的回复。我已使用新代码进行了更新,但仍然存在问题。变量现在在方法之外,但变量仍然没有正确更新。
( function( $ ) {
        pageCount = 2;
        total = <?php echo $loop->max_num_pages; ?>;
        $( window ).scroll( function() {
            if  ( $( window ).scrollTop() == $( document ).height() - $( window ).height() ){
                if ( pageCount > total ){
                    return false;
                } else {
                    $.ajax({
                        url: "<?php bloginfo( 'wpurl' ) ?>/wp-admin/admin-ajax.php",
                        type:'POST',
                        data: "action=infinite_scroll&page_no=" + pageCount + '&loop_file=forums', 
                        success: function( html ){
                            $( "#content" ).append( html );
                            pageCount++;
                        }
                    });
                }
            }
        });
    })( jQuery );
var count = 2;
( function( $ ) {
        $( document ).ready( function () {
            var total = <?php echo $loop->max_num_pages; ?>;
            if ( count <= total ) {
                $( window ).scroll( function() {
                    if ( $( window ).scrollTop() == $( document ).height() - $( window ).height() ) {
                        $.ajax({
                            url: "<?php bloginfo( 'wpurl' ) ?>/wp-admin/admin-ajax.php",
                            type:'POST',
                            data: "action=infinite_scroll&page_no=" + count + '&loop_file=forums', 
                            success: function( html ){
                                $( "#content" ).append( html );
                            }
                        });
                        count++;
                    }
                });
            } else {
                return;
            }
        });
    })( jQuery );
var var1 = 'string',
    var2 = 'int';