Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom galera já tentei de tudo aqui no forum, pensei que tinha resolvido o problema mas ainda não...
Não consigo fazer essa paginação ficar sem refresh, até consigo mas o porém é que ela duplica meu index, fica basicamente 1 index dentro de outro :S
segue a parte da paginação
<!-- OBRAS -->
<div id="obras" class="dentro">
<div class="bug"></div><!--//BUG TOP-->
<span class="titu_page">Obras</span>
<script>
$(document).ready(function(){
$(".paginacao a").click(function( e ){
e.preventDefault();
var href = $( this ).attr('href');
$(".paginacao").load( href +"page");
});
});
</script>
<div class="thumb-obras">
<ul>
<?php
Conectar();
//infos. da query
$campos_query = "*";
$final_query = "FROM obras ORDER BY id DESC";
//limite de resultados por página
$maximo = 1;//24
//declara a página inicial
$pagina = $_GET["pagina"];
if($pagina == "") {
$pagina = "1";
}
//calcula o registro inicial
$inicio = $pagina - 1;
$inicio = $maximo * $inicio;
//conta todos os resultados da query
$strCount = "SELECT COUNT(*) AS 'num_registros' $final_query";
$query = mysql_query($strCount);
$row = mysql_fetch_array($query);
$total = $row["num_registros"];
//inicio da exibição
//executando a query
$sql = mysql_query("SELECT $campos_query $final_query LIMIT $inicio,$maximo");
//exibir valores
while ($linha = mysql_fetch_object($sql)) {
echo'<li>';
echo'<a href="obra_interna.php?id='.$linha->id.'" class="tb" title="'.$linha->titulo.'">';
echo"<img src='uploads/images/".$linha->miniatura."' />";
echo'</a>';
echo'</li>';
}
//fim da exibição
$menos = $pagina - 1;
$mais = $pagina + 1;
$pgs = ceil($total / $maximo);
if($pgs > 1 ) {
echo "<br />";
echo '<div class="paginacao">';
//mostrar numero de paginas
if($menos > 0) {
echo "<a href=".$_SERVER['PHP_SELF']."?pagina=$menos>anterior</a>";
}
//listar paginas
for($i=1;$i <= $pgs;$i++) {
if($i != $pagina) {
echo " <a href=".$_SERVER['PHP_SELF']."?pagina=".($i).">$i</a>";
} else {
echo " <span class='pgatual'>".$i."</span>";
}
}
if($mais <= $pgs) {
echo " <a href=".$_SERVER['PHP_SELF']."?pagina=$mais>próxima</a>";
}
}
echo'</div>';
?>
</ul>
</div><!--//THUMB-OBRAS-->
</div><!-- //OBRAS -->
Alguém poderia ajudar ?
>
Experimente adicionar em frente à URL que está sendo carregada, a DIV que de fato será:
$(".paginacao").load( href +"page");
Por:
$(".paginacao").load( href + "page #foo" );
~
Sendo #foo uma DIV com ID igual a foo onde reside o resultado que deverá ser apresentado.
Tentei fazer isso
$(document).ready(function(){
$(".paginacao a").click(function( e ){
e.preventDefault();
var href = $( this ).attr('href');
$(".paginacao").load( href + "page .paginacao" );
});
});
não faz o reload, mas também não funciona a paginação por exemplo clico em pag 2 e não vai pra página
Você deve levar em considerações que jQuery "ainda" é baseado em JavaScript nativo do navegador. Navegadores diferentes possuem comportamentos diferentes perante este código (e alguns outros):
$(this).attr('href');
Alguns navegadores ignoram domínio, outros o levam consigo. Verifique isso também. Mas no mais, é de menor importância. Apesar de ser de menor importância, pode lhe causar algumas dores de cabeça agora ou em um futuro distante.
Não vejo uma alternativa para que isso funcione já estou testando várias possibilidades a 3 dias, essa paginação está em um site que tem efeito "elastic" tipo scroll com chamadas na index já viram ? então e está dificil fazer rodar certinho essa paginação sem refresh
Utilize o inspetor do seu navegador para dar cabo de qualquer erro de programação implícito.
Certifique-se de não ter esquecido parênteses ou chaves abertos em algum lugar ou não ter erros de uso de variável indefinida ou erros de digitação.
Ainda utilizando o inspetor do seu navegador, verifique se a resposta da solicitação AJAX - se houver alguma - é condizente com o contexto esperado.
Caso não seja possível utilizar a técnica de documentFragment, conforme foi sugerido, troque o .load por uma requisição comum, extraia a porção desejada de documento e insira no alvo.
$(document).ready(function(){
function loadData(into) {
return function(data) {
into.html(data);
}
}
$(".paginacao a").click(function( e ){
$.get(this.href, loadData($(this.parentNode)), 'xml');
});
});Opaa, vou verificar mas creio que não deixei algo passar porque já estou revisando tem uns 3 dias, mas vou tentar o que disse obrigado
Experimente adicionar em frente à URL que está sendo carregada, a DIV que de fato será:
$(".paginacao").load( href +"page");
Por:
$(".paginacao").load( href + "page #foo" );
~
Sendo #foo uma DIV com ID igual a foo onde reside o resultado que deverá ser apresentado.