
Kod
function laduj(){
(...)
var newsy = getElementsByClassName('news');
var komentarz_rozwijacz = new Array(newsy.length);
var komentarz_button = new Array(newsy.length);
var komentarz_liczownik = new Array(newsy.length);
for(var i = 0; i<newsy.length; i++){
id=i+1;
komentarz_rozwijacz[id] = pokaz_komentarz('' + id + '');
komentarz_button[id] = sprawdz_komentarz(''+ id +'');
komentarz_liczownik[id] = licz(''+id+'');
}
askAjaxGet('http://localhost/Marcin/Projekt%20Firmy/php/komentarze.php?akcja=pobierz_komentarz');
}
(...)
var newsy = getElementsByClassName('news');
var komentarz_rozwijacz = new Array(newsy.length);
var komentarz_button = new Array(newsy.length);
var komentarz_liczownik = new Array(newsy.length);
for(var i = 0; i<newsy.length; i++){
id=i+1;
komentarz_rozwijacz[id] = pokaz_komentarz('' + id + '');
komentarz_button[id] = sprawdz_komentarz(''+ id +'');
komentarz_liczownik[id] = licz(''+id+'');
}
askAjaxGet('http://localhost/Marcin/Projekt%20Firmy/php/komentarze.php?akcja=pobierz_komentarz');
}
I tu następuje zgrzyt. Funkcja askAjaxGet, to proste zapytanie ajaxowe. Do tej pory pętla była ostatnim elementem funkcji laduj. Problem pojawia się w funkcji pokaz_komentarz. Oto jej kod:
Kod
//Komentarz
function pokaz_komentarz(id){
var view = $('komentarz_kontener_'+id).style.display;
var rozwijacz = $('komentarz_rozwijacz_'+id);
rozwijacz.onclick = function(){
if (view != 'block') {
$('komentarz_kontener_' + id).style.display = 'block';
$('komentarz_hr_' + id).style.display = 'block';
return pokaz_komentarz(id);
}
else if (view != 'none'){
$('komentarz_kontener_' + id).style.display = 'none';
$('komentarz_hr_' + id).style.display = 'none';
return pokaz_komentarz(id);
}
}
}
function pokaz_komentarz(id){
var view = $('komentarz_kontener_'+id).style.display;
var rozwijacz = $('komentarz_rozwijacz_'+id);
rozwijacz.onclick = function(){
if (view != 'block') {
$('komentarz_kontener_' + id).style.display = 'block';
$('komentarz_hr_' + id).style.display = 'block';
return pokaz_komentarz(id);
}
else if (view != 'none'){
$('komentarz_kontener_' + id).style.display = 'none';
$('komentarz_hr_' + id).style.display = 'none';
return pokaz_komentarz(id);
}
}
}
Niestety, działa tylko raz, aż do wczytania funkcji askAjaxGet. Myślę że przez to iż funkcja pokaz komentarz zwraca samą siebie, to nie jeśli się ją "przeskoczy", już nie zostanie wywołana. Proszę o pomoc, podpisano zatroskany człek
