Problemi Con Aggiornamento Div Tramite Jquery

Salve a tutti,

sono alle prese con un problema abbastanza fastidioso visto che sarà sicuramente una banalità che non mi permette di risolverlo.

Utilizzo la libreria responsiveslide per mostrare delle news ad effetto slideshow ogni 5 secondi. E fin qui tutto funziona bene.

Poi, però, vorrei aggiornare il contenuto della div che visualizza queste news ogni mezzora in modo da avere sempre le ultime notizie e faccio in questo modo:

views/layouts/slideshow.php




<?php /* @var $this Controller */

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

	<meta name="language" content="en" />


	<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/print.css" media="print" />

	<!--[if lt IE 8]>

	<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/ie.css" media="screen, projection" />

	<![endif]-->


	<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/slideshow.css" />


	<title><?php echo CHtml::encode($this->pageTitle); ?></title>

</head>


<body>


<div class="container" id="page">


	<?php echo $content; ?>


	<div class="clear"></div>


</div><!-- page -->

<div id="footer">

<?php

	// link dell'RSS


	$news = new News();

	echo $news->run(); 

?>

</div>

<?php

	$refreshInterval = Yii::app()->params['newsRefreshInterval'];


	Yii::app()->clientScript->registerScript('feed-updater', '

		function updater() {

			$("#footer").load(" #footer", function(){

				setTimeout(updater, '.$refreshInterval.');

			});

		}

		setTimeout(updater, '.$refreshInterval.');

	');

?>

</body>

</html>



La classe News non fa altro che restituire le news in una lista ul.

Infine il javascript che richiamo nella view verso cui effetto il render, è il seguente




function responsiveText()

{

	$('#footer').css('font-size', $('#footer').css('height'));

}


	// richiama la libreria responsiveSlides()

	$(function() 

	{	

		// image slideshow

		$("#imageSlider").responsiveSlides(

		{

			// 20 sec

			timeout: 20000,

		});

		

		// news slideshow

		$("#newsSlider").responsiveSlides(

		{

			// 3 sec

			timeout: 5000,

		});

		

		responsiveText();

		

		// resposive news 

		$(window).resize(function(){

			responsiveText();   

		});


	});



Insomma, al primo avvio della pagina tutto funziona bene.

Non appena, però, effetto il refresh della div tramite jQuery è come se non caricasse la parte della libreria che si occupa di fare lo scrolling delle news. Il risultato è la prima news ferma, che non si muove.

Sapete dirmi perchè si verifica questo problema?

Grazie.

Nessuno che sa dirmi come fare?

Puoi postare la pagina html che ti restituisce slideshow.php?

Ciao massimiliano,

spero che potrai aiutarmi, almeno tu, visto che pur avendo messo a disposizione della community questa semplice estensioni non sono mai riuscito a farla funzionare correttamente poichè mi è mancato il supporto.

Questo è il risultato HTML della pagina:




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

	<meta name="language" content="en" />

    <!-- refresh every hour -->

    <!--<meta http-equiv="refresh" content="30">-->


	<!-- blueprint CSS framework -->

	<!--<link rel="stylesheet" type="text/css" href="/css/screen_slideshow.css" media="screen, projection" />-->

	<link rel="stylesheet" type="text/css" href="/cartella/css/print.css" media="print" />

	<!--[if lt IE 8]>

	<link rel="stylesheet" type="text/css" href="/cartella/css/ie.css" media="screen, projection" />

	<![endif]-->


	<link rel="stylesheet" type="text/css" href="/cartella/css/main_slideshow.css" />

	<!--<link rel="stylesheet" type="text/css" href="/css/form.css" />-->


	<link rel="stylesheet" type="text/css" href="/cartella/css/responsiveslides.css" />

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

<script type="text/javascript" src="/cartella/js/responsiveslides.js"></script>

<script type="text/javascript" src="/cartella/js/call_responsiveSlides.js"></script>

<script type="text/javascript" src="/cartella/js/orologio.js"></script>

<title>Images & News</title>

</head>


<body>


<div class="container" id="page">


		<ul class="rslides" id="imageSlider"><li><img src="/cartella/images/stations/1394002405_1.jpg" alt=""></li><li><img src="/cartella/images/stations/1394002430_2.jpg" alt=""></li><li><img src="/cartella/images/stations/1394002606_8.jpg" alt=""></li><li><img src="/cartella/images/stations/1394089787_10.jpg" alt=""></li><li><img src="/cartella/images/stations/1394141722_12.jpg" alt=""></li><li><img src="/cartella/images/stations/1394403739_15.jpg" alt=""></li><li><img src="/cartella/images/stations/1394403870_17.jpg" alt=""></li><li><img src="/cartella/images/stations/1394403972_18.jpg" alt=""></li><li><img src="/cartella/images/stations/1394404070_19.jpg" alt=""></li><li><img src="/cartella/images/stations/1394865213_22.jpg" alt=""></li><li><img src="/cartella/images/stations/1395780583_36.jpg" alt=""></li><li><img src="/cartella/images/stations/1396470524_38.jpg" alt=""></li><li><img src="/cartella/images/stations/1396504019_41.jpg" alt=""></li><li><img src="/cartella/images/stations/1396504029_42.jpg" alt=""></li><li><img src="/cartella/images/stations/1397504444_47.jpg" alt=""></li></ul><!-- content -->


	<div class="clear"></div>


</div><!-- page -->

<div id="footer">

    <div class="news_news">

    <ul class="rslides" id="newsSlider"><li><b>Motogp, c'è Marquez in pole. Bologna-Fiorentina finisce 0-3. Inter-Napoli 0-0 - Vai allo SPORT</b></li><li><b>Renzi-Napolitano, un'ora di faccia a faccia. Il premier ai suoi: "Riforme? Possiamo chiudere"</b></li><li><b>Crisi, 8 famiglie su 10 si sentono precarie e instabili. Schizzano i fallimenti delle imprese: +22%</b></li><li><b>Berlusconi: "Per i tedeschi mai esistiti i lager". Schulz replica: "Da lui solo odio e invidia"</b></li><li><b>Londra, all'asta per 144mila euro l'ultima lettera scritta sul Titanic</b></li><li><b>Pannella dimesso dal Gemelli. Sos dei medici: "Se non beve il rischio è elevatissimo"</b></li><li><b>"Voglio sposare Harry": 12 ragazze per un principe (tarocco)</b></li><li><b>La domenica dei quattro Papi / DIRETTA. Ratzinger concelebra, un milione a Roma</b></li><li><b>La lite Maradona-Fisco, i legali: "Interrogazione a Bruxelles segna un punto per Diego"</b></li><li><b>Ucraina, Kiev chiude i rubinetti dell'acqua alla Crimea. Premier Yatseniuk da Renzi, poi dal Papa</b></li><li><b>Afghanistan, cade elicottero Nato: 5 morti. Elezioni, verso il ballottaggio Abdullah-Ghani</b></li><li><b>Palermo, chiude il Mazzara: 'bar del Gattopardo'. Era aperto dal 1909</b></li><li><b>Venezia, in preda alla gelosia tenta di dar fuoco alla ex moglie, interviene il questore e la salva</b></li><li><b>Emergenza sbarchi, altri duemila migranti soccorsi in Sicilia</b></li><li><b>Evita un'auto e 'parcheggia' nella camera da letto di un appartamento</b></li><li><b>LA DOMENICA DEI DUE PAPI Benedetto XVI concelebrerà la canonizzazione Wojtyla-Roncalli</b></li><li><b>LA DOMENICA DEI DUE PAPI Roncalli-Wojtyla, un milione di pellegrini in festa a Roma</b></li><li><b>LO SPRECO Italia incapace anche di spendere: dimenticati a Bruxelles 30 miliardi</b></li><li><b>Giappone, prima caccia alle balene dopo la sentenza dell'Aja</b></li><li><b>Marò, proprietario peschereccio presenta all'Alta Corte petizione per trasferire processo in Kerala</b></li><li><b>"Papà è senza lavoro". E la bimba dà il cv a Michelle Obama</b></li><li><b>Bergoglio chiama Pannella e lui interrompe lo sciopero della sete</b></li><li><b>L'EVENTO - Il Papa inaspettato: "Wojtyla chi?". Quel conclave che cambiò la storia</b></li><li><b>L'autostrada delle carte bollate. Ottocento milioni fermi al casello</b></li><li><b>Napoli, faida per lo spaccio di droga: uomo ucciso in auto</b></li></ul>    </div>

</div>

</body>

</html>



ragazzi ma non c’è nessuno che sappia dirmi come risolvere?

Up!

Direi che servono anche i js di "cartella". Li puoi postare?

Rieccomi con un po’ di ritardo:

call_responsiveSlides.js




function responsiveText() 

{

	// centro il testo

	//$('#footer').css('line-height', $('#footer').css('height'));

	

    var width = $("#newsSlider").outerWidth();

    $("#newsSlider").children().each(function () {

        var li = $(this); // one text element/list item

        var len = li.text().length; // number of characters

		// fontsize = width/number of characters

        /*

		var fs = (width/len); 

        if (fs>50) fs = 50; // not bigger than 50px

        if (fs<20) fs = 30; // not smaller than 20px

		alert(fs);

		*/

		//var fs = 45;

		var fs = 40;

        li.css('font-size', fs+'px');

    });

}




	// richiama la libreria responsiveSlides()

	$(function() 

	{	

		// image slideshow

		$("#imageSlider").responsiveSlides(

		{

			// 10 sec

			timeout: 10000,

		});

		

		// news slideshow

		$("#newsSlider").responsiveSlides(

		{

			// 3 sec

			timeout: 5000,

		});

		

		responsiveText();

		

		// resposive news 

		$(window).resize(function(){

			responsiveText();   

		});


	});



Gli altri file JS invece sono uno della libreria “responsiveslides” (di cui ho allegato il link nel primo post) e l’altro è un semplice JS che genera un orologio.

Quindi il file JS che interessa sarebbe questo qui