ich hoffe ihr könnt mir helfen. Ich habe folgendes Problem:
Ich nutze für mein Projekt die templateengine des phpbb3. Nun wollte ich eine Seite machen, welche den Status eines Shoutcastservers ausgibt. Hierbei sollen die Hörerdaten und die zuletzt gespielten Songs über ein jquery ein/auszublenden sein. Ferner soll die Seite alle 15 Sekunden per Ajax neu geladen werden.
Das funktioniert sowit auch alles, mein Problem ist jedoch, dass nach dem ersten Reload per ajax die togglefunktion nichtmehr funktioniert.
Da ich noch keinerlei erfahrungen mit ajax und jquery habe (ich kann nur ein klein wenig javascript) weiss ich hier echt nichtmehr weiter.
Hier mal der code des templates:
Code: Alles auswählen
<!-- header ausblenden bei ajax request um nur den gewünschten teil des Templates zu aktualisieren -->
<!-- IF S_HEADER -->
<!-- INCLUDE overall_header.html -->
<div id="dynamic">
<!-- ENDIF -->
[...]
<fieldset>
<legend class="trigger"> {L_SC_LISTENERS} </legend>
<div class="slide" id="p1">
[...]
</div>
</fieldset>
<script type="text/javascript">
// <![CDATA[
window.setTimeout('setRequest("{U_SC_AJAX}")', 15000);
// ]]>
</script>
</div>
<!-- footer ausblenden bei ajax request um nur den gewünschten teil des Templates zu aktualisieren -->
<!-- IF S_HEADER -->
<!-- INCLUDE overall_footer.html -->
<!-- ENDIF -->
Code: Alles auswählen
function initMenu() {
$('.slide').hide();
$('.trigger').click(
function() {
$(this).next().toggle('slow',function(){
var id = $(this).attr('id');
var state;
if ($(this).is(':hidden')) {
state = "closed";
$(this).prev().attr("class", "trigger" )
} else if ($(this).is(':visible')) {
state = "open";
$(this).prev().attr("class", "trigger open" )
}
;
$.cookie(id, state,{
path:'/'
});
return false;
});
}
);
$('.trigger').each(function() {
var id = $(this).next().attr('id');
if ($.cookie(id) == "open") {
$(this).next().show();
$(this).attr("class", "trigger open" );
}
else {
$(this).attr("class", "trigger" );
}
});
}
jQuery(document).ready(function() {
initMenu();
});
Martin