Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

WictorP

ONclick

Recommended Posts

Bom pessoal fiz um sistema de paginação com Ajax, tem duas setas, uma que avança e a outra que volta, porém nenhuma funciona .

 

JS (ajax)

jQuery(document).ready(function( $ ){
var paginas = {
	iniciar:function(div, caminho, id) {
		$.ajax({
			type:"POST",
			url:'arquivos/ajax/paginacao-'+caminho+'.php',
			data:{'id':id},
			beforeSend:function() {
				$(''+div+'').animate({opacity:0.5});
			},success:function(html) {
				$(''+div+'').animate({opacity:1}).html(html);
			}
		});
	},tudo:function() {
		paginas.iniciar('#paginacao-noticia','noticia','1');
	}
}

$(function(){
	paginas.tudo();
});
});
PHP

 

 

<?php
// retirei o conecta
	
	$id = $_POST['id'];
	if(isset($id)) {
		$quantidade = 1;
		$pagina = $id;
		$nova_pagina = ($quantidade * $pagina) - $quantidade;
		$conta = $conecta->query("SELECT id FROM noticias");
		$conta_conta = $conta->num_rows;
		$total = ceil($conta_conta/$quantidade);
		$mais = $pagina + 1;
		$menos = $pagina - 1;
		if($pagina<$total) {
			$seta_direita = ('<div class="avancar" onClick="paginas.tudo();"></div>');
		}else {
			$seta_direita = ("<div class='avancar' style='cursor:default;opacity:0.5;'></div>");
		}
		if($pagina>1) {
			$seta_esquerda = ('<div class="avancar" onClick="paginas.inicia(\'#paginacao-noticia\',\'noticia\',\''.$menos.'\');"></div>');
		}else {
			$seta_esquerda = ("<div class='voltar' style='cursor:default;opacity:0.5;'></div>");
		}
?>
	<div class="titulo"><span>Notícias</span> <div class="botoes"><?php echo $seta_esquerda; ?><div class="recarregar" onclick="paginas.inicia('#paginacao-noticia','noticia','1');"></div><?php echo $seta_direita; ?></div></div>
<?php
		$sql = "SELECT * FROM noticias ORDER BY id DESC LIMIT $nova_pagina, $quantidade";		
		$query = $conecta->query($sql);
		while($ver = $query->fetch_array()) {
?>
	<div class="resumo-noticia">
		<div class="mini-imagem" style="background:url('painel/imagens/noticias/<?php echo $ver['imagem']; ?>');"></div>
		<div class="texto-noticia">
			<a href="#" class="titulo-noticia"><?php echo $ver['titulo']; ?></a>
			<span class="descricao-noticia"><?php echo $ver['resumo']; ?></span>
		</div>
		<div class="infos-noticia">
			<div class="categoria"><img src="imagens/categorias/brasil.png"></div>
			<div class="autor">Por: <span class="nome"><?php echo $ver['autor']; ?></span></div>
		</div>
	</div>
<?php
		}
?>
<div id="clear"></div>
<?php
	}else {
		echo"sai daqui nb";
	}
?>
Já mudei o code do onclick pra fazer outra função, como alterar o CSS de outra div, e funcionou perfeitamente. Porém quando coloca pra chamar a função do Ajax não funciona.

Pessoal, não tem como deletar o POST

então lá vou eu, consegui arrumar, apesar de ter quase uma hora tentando resolver isto, logo quando postei resolvi .-.

 

O problema era no JS.

 

Tem que tirar a variavel paginas da função do Jquery, ficando:

var paginas = {
iniciar:function(div, caminho, id) {
$.ajax({
type:"POST",
url:'arquivos/ajax/paginacao-'+caminho+'.php',
data:{'id':id},
beforeSend:function() {
$(''+div+'').animate({opacity:0.5});
},success:function(html) {
$(''+div+'').animate({opacity:1}).html(html);
}
});
},tudo:function() {
paginas.iniciar('#paginacao-noticia','noticia','1');
}
}
jQuery(document).ready(function( $ ){
$(function(){
paginas.tudo();
});
});
Deixando a solução caso outros tenham o mesmo problema, oque acho difícil. XD.

 

VLW

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só uma coisa... Você ta chamando duas vezes o onDOMReady...

$(document).ready(function() {

// OU

jQuery(document).ready(function($) {

é o mesmo que

$(function() {

// OU

jQuery(function($) {

Então, ao invés de fazer

jQuery(document).ready(function( $ ){
$(function(){
paginas.tudo();
});
});

faça simplesmente

jQuery(function($){
    paginas.tudo();
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.