DIv con contenuti dinamici

  • Creatore Discussione Creatore Discussione frengo
  • Data di inizio Data di inizio

frengo

Nuovo Utente
16 Mar 2016
5
0
0
Salve a tutti il mio problema è questo:
ho un sito web nel quale tramite un link devo cambiare il contenuto di un div,quando clicco sul link appare un'immagine di loading e poi appare il contenuto deisderato. Il codice che ho funziona ma solo su firefox mentre su chrome ricarica il lo stesso contenuto io sotto metto il codice usato e la parte di html che lo riguarda spero riusciate ad aiutarmi,grazie in anticipo


HTML:
<div id="wrapper">
		<!--Parte statica-->
		<div id="nav">
			<!--<div class="row">
				<div class="col-sm-10  col-sm-offset-2">-->
					<ul>
						<li><a href="bootstrap.html">GEN</a></li>
						<li><a href="ciao.html">FEB</a></li>
						<li><a href="ciao.html">MAR</a></li>
						<li><a href="ciao.html">APR</a></li>
						<li><a href="ciao.html">MAY</a></li>
						<li><a href="ciao.html">JUN</a></li>
						<li><a href="ciao.html">JUL</a></li>
						<li><a href="ciao.html">AUG</a></li>
						<li><a href="ciao.html">SEP</a></li>
						<li><a href="ciao.html">OCT</a></li>
						<li><a href="ciao.html">NOV</a></li>
						<li><a href="ciao.html">DEC</a></li>
					</ul>
				</div>
		<!--Parte dinamica-->
		<div id="content">
			<p>Ciao</p>
		</div>
		</div>

codice Ajax

Codice:
$(document).ready(function() {
						   
	var hash = window.location.hash.substr(1);
	var href = $('#nav li a').each(function(){
		var href = $(this).attr('href');
		if(hash==href.substr(0,href.length-5)){
			var toLoad = hash+'.html #content';
			$('#content').load(toLoad)
		}
	});

	$('#nav  li a').click(function(){
								  
		var toLoad = $(this).attr('href')+' #content';
		$('#content').hide('fast',loadContent);
		$('#load').remove();
		$('#wrapper').append('<div id="load"></div>');
		$('#load').fadeIn('normal');
		window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);
		function loadContent() {
			$('#content').load(toLoad,'',showNewContent())
		}
		function showNewContent() {
			$('#content').show('normal',hideLoader());
		}
		function hideLoader() {
			$('#load').fadeOut('normal');
		}
		return false;
		
	});

});
 
Ultima modifica di un moderatore:
Ciao, a che ti serve l'hash ? non ho capito molto, ti basta caricare nel div il contenuto della pagina dell'attributo href ?
 
Ciao, a che ti serve l'hash ? non ho capito molto, ti basta caricare nel div il contenuto della pagina dell'attributo href ?

Lo script l'ho scaricato non consoscendo bene il linguaggio,su firefox funziona su chrome no,se sapete darmi un codice alternativo mi fa piacere(non so se cambia qualcosa,tenete conto che nella pagina è presente anche il bootstrap)
 
Si, decisamente cambierei codice ma volevo chiederti se il contenuto del div deve cambiare con quello che c'è nelle pagine ciao.html.
Mi spiego meglio, la pagina è sempre ciao.html o cambia per ogni <li> ?
 
Ultima modifica:
Si per ogni <li> c'è una pagina HTML diversa.
Praticamente io clicco sul link che sarebbe un mese per ogni mese deve apparire un contenuto diverso in quel div
 
puoi provare semplicemente cosi
Codice:
$(document).ready(function () {
    $("#nav ul li a").click(function (e) {
        e.preventDefault();
        $("#content").load($(this).attr("href"));
    });
});
 
puoi provare semplicemente cosi
Codice:
$(document).ready(function () {
    $("#nav ul li a").click(function (e) {
        e.preventDefault();
        $("#content").load($(this).attr("href"));
    });
});
il codice funziona solo su firefox,ma carica tutta la pagina non solo la parte che mi interessa,mentre chrome non ne vuole sapere,mi da errore nel file ajax e nella libreria del jQuery(v1.7.1),non va bene la versione di jQuery?
 
che errore ?
la versioone va bene anche se è meglio sempre l'ultima, l'importante è che non ne includi 2 che allora potrebbero andare in conflitto
 

Discussioni simili