2016-08-11 34 views
0

我有一个简单的loadmore函数,它设置查询的限制并添加到偏移量,所以只有新的项目再次加载。这项工作正常,当我有4个项目开始,但不是当我想要从一开始就显示8。Ajax loadmore函数没有做我所需要的

我的代码:

var limit = 8; 
var offset = 0; 

$('#loadmoreprojects').click(function() { 
    limit = 4; 
    offset += 4; 

    ajax(); 

}); 

查询:

$project    = " 
SELECT ct.*, fe.*, cn.* 
FROM 123_content ct 
INNER JOIN 123_fieldsandfilters_elements fe on fe.item_id = ct.id 
INNER JOIN 123_fieldsandfilters_connections cn on cn.element_id = fe.id 
WHERE ct.catid IN ('10') 
ORDER BY ct.ordering LIMIT ".$_POST['limit']." OFFSET ".$_POST['offset'].""; 

这说明从一开始就8个项目,但加载时,更是再次显示第2行(第8项的最后4 )。这是有道理的,因为当点击按钮时,限制再次设置为4(因为在第一个8之后,我只需要加载4个新项目),如果我将其更改为8,则每次点击都加载8个项目,这是不是我想要的。

我该如何解决这个问题?

回答

0

解决方案:

var limit = 4; 
var offset = 0; 
var i =0; 
$('#loadmorenews').click(function() { 
    limit = 2; 
    if(i == 0) { 
     offset += 4; 
    } else { 
     offset += 2; 
    } 
    i++; 

    ajax(); 

}); 
相关问题