Sto usando il plug-in jquery scrollpagination in code-code mi trovo di fronte a un problema che il mio ciclo non termina e non fornisce risultati accurati.Codeigniter scrollpagination
questo è il mio html codice
<div id="main">
<div id='friend_display'>
<?php if($list->num_rows() > 0 ){
foreach($list->result() as $show)
{ ?>
<div class="image-box" style="margin-left:30px" id='image-holder' >
<div class="photo-cover">
<a href="<?=base_url()?>uploads/user_images/<?php echo $show->user_image;?>" class="big-image"><img width="160px" height="117px" src="<?=base_url()?>uploads/user_images/friends/<?php echo $show->user_image;?>" alt="" /></a>
</div>
<p class="photo-name"><b><?php echo $show->user_name;?></b></p>
</div>
<?php } } else { echo '<div align="center" style="color:#FF0000; font-size:17px; font-weight:bold">You have no Friends yet</div>';}?>
<div class="cl"> </div>
</div></div>
questo è sceneggiatura
<script type="text/javascript">
var page_num = 1;
$(function(){
$('#friend_display').scrollPagination({
'contentPage': '<?=base_url()?>friends/load_more', // the url you are fetching the results
'contentData': {page_num:$('.image-box').size()}, // these are the variables you can pass to the request, for example: children().size() to know which page you are
'scrollTarget': $(window), // who gonna scroll? in this example, the full window
'heightOffset': 10, // it gonna request when scroll is 10 pixels before the page ends
'beforeLoad': function(){ // before load function, you can display a preloader div
$('#loading1').fadeIn();
},
'afterLoad': function(elementsLoaded){ // after loading content, you can use this function to animate your new elements
$('#loading1').fadeOut();
var i = 0;
$(elementsLoaded).fadeInWithDelay();
page_num:$('.image-box').size();
}
});
// code for fade in element by element
$.fn.fadeInWithDelay = function(){
var delay = 0;
return this.each(function(){
$(this).delay(delay).animate({opacity:1}, 200);
delay += 100;
});
};
});
</script>
e questo è il mio php funzione
function load_more()
{
$offset = $this->input->post('page_num');
$list = $this->friends_model->show_friends($offset);
if($list->num_rows()>0)
{
foreach($list->result() as $show)
{?>
<div class="image-box" style="margin-left:30px" id='image-holder'>
<div class="photo-cover">
<a href="<?=base_url()?>uploads/user_images/<?php echo $show->user_image;?>" class="big-image"><img width="160px" height="117px" src="<?=base_url()?>uploads/user_images/friends/<?php echo $show->user_image;?>" alt="" /></a>
</div>
<p class="photo-name"><b><?php echo $show->user_name;?></b></p>
</div>
<?php } ?>
<div class="cl"> </div>
<?php
}
else
{
//echo(333);
}
}
in db jst shoing main query $ this-> db-> limit (12, $ offset); qualcuno può dirmi cosa mi manca?
Apre questo collegamento al codice completo di wathch. Scroll Pagination
La tua domanda non è abbastanza dettagliata. Quale loop fallisce, quali sono i risultati del suo fallimento e, cosa più importante [cosa hai provato] (http://mattgemmell.com/2008/12/08/what-have-you-tried/)? –
il problema è che quando scrivo verso il basso mostra il risultato e non si ferma a visualizzare. nel mio db ho 50 risultati quindi prima utilizzo 10 risultati da visualizzare poi quando la chiamata a scrollpagination passa a dispaly jst 10 e così su dispaly jst 10 prima non altri 40. e loop non terminato se lo scorrimento verso il basso continua a visualizzare me jst 10 risultato –
Sembra che il valore di offset non sia gestito correttamente. Assicurati che il valore sia passato correttamente da 'var_dump'ing e cambiandolo finché non funziona. –