Ayuda con botón previo y siguiente en JavaScript

  • Autor Autor gallurt
  • Fecha de inicio Fecha de inicio
G

gallurt

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola buenas Tengo este código que funciona de maravilla con un botón para mostrar mas artículos , yo lo tengo configurado para que muestre 1 artículo por página y cada vez que se presiona el botón "mostrar mas" muestra la siguiente pagina con el próximo artículo. Bien 🙂

Pues me interesa también un botón para retroceder páginas y que se pueda navegar adelante o para atrás. Y la verdad es que no he logrado hacerlo. Si alguien pudiera iluminarme estaría agradecido..


código del boton
PHP:
<a id="more_posts-vid" disables="disabled">Mostrar más</a>
	<div id="loader" style="display: none;text-align: center;"><img src="/img/loading.gif">
	</div>


código del javascript
PHP:
<script type="text/javascript">

            jQuery(document).ready( function($) {
                var cat = $("#more_posts-vid").data("tag");
                var ajaxUrl = "<?php echo admin_url('admin-ajax.php')?>";
                var page = 1; // What page we are on.
                var ppp = 1; // Post per page
 
                $("#more_posts-vid").on("click",function(){ // When btn is pressed.
                    $("#more_posts-vid").attr("disabled",true); // Disable the button, temp.
                        $.post(ajaxUrl, {
                        action:"more_post_ajax_videonext",
                        offset: (page * ppp) + 0,
                        ppp: ppp
                    }).success(function(posts){
                        page++;
                        $("#ajax-posts").html(posts); // CHANGE THIS!
                        $("#more_posts-vid").attr("disabled",false);
                    });

               });
           })

 jQuery('#more_posts-vid').live('click', function(e){ //check when pagination link is clicked and stop its action.
 	e.preventDefault();
 	var link = jQuery(this).attr('href'); //Get the href attribute
 jQuery('#ajax-posts').show(200, function(){ //fade out the content area
	 jQuery("#loader").show(); // show the loader animation
 }).load(link + '#ajax-posts', function(){ jQuery('#ajax-posts').fadeIn(200, function(){ //load data from the content area from paginator link page that we just get from the top
	 jQuery("#loader").hide(); //hide the loader
 }); });
 });
	
 </script>

Función para llamarlo
PHP:
function more_post_ajax_videonext(){
    $offset = $_POST["offset"];
    $ppp = $_POST["ppp"];
    header("Content-Type: text/html");
$postsPerPage = 1;

$args = array(
    'suppress_filters' => true,
    'post_type' => 'post',
    'posts_per_page' => $ppp,
    'posts_per_page' => $postsPerPage,
    'tag' => 'video-cp',
    'offset' => $offset,
);
$loop = new WP_Query($args);
while ($loop->have_posts()) : $loop->the_post();

echo"<div id='ajax-posts' class='row'>";

exit;  
}
add_action('wp_ajax_nopriv_more_post_ajax_videonext', 'more_post_ajax_videonext'); 
add_action('wp_ajax_more_post_ajax_videonext', 'more_post_ajax_videonext');


Gracias y saludos
 
Si es un div que cambia su contenido, lo único que tendrías que hacer es disminuir el numero de page, aparentemente es el encargado de decir en que pagina vas. Espero que haya sido de ayuda.

Saludos
 
Atrás
Arriba