Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Pętla w <head>? Jak zrobic dynamiczną sekcję <head>?
Forum PHP.pl > Forum > PHP
zaaap
Witam,
Do mojej strony wprowadzilem skrypt rozwijacy (animujacy) i chowający okreslone divy. Wszystko dziala, ale w sekcji head strony musi byc umieszczony podany kod:

  1. <script type="text/javascript" src="admin/jquery-1.2.2.pack.js"></script>
  2. <script type="text/javascript" src="admin/animatedcollapse.js">
  3. <script type="text/javascript">
  4. animatedcollapse.addDiv('jason', 'fade=0,height=')
  5. animatedcollapse.init()

I teraz, oblugiwany bedzie jedynie jeden div. U mnie divow bedzie tyle ile komentarzy:
  1. <div id='jason<?php echo $i; ?>' style='display:none;'>


Potrzebne mi jest to do edytowania kazdego komentarza na stronie. Admin po kliknieciu "edit" bedzie widzial ladnego rozwijanego diva z zawartoscia gotowa do edycji.
I tutaj wlasnie jest problem, gdyz nie mam zamiaru w <head> dawac
Kod
animatedcollapse.addDiv('jason'
i tak az do 'jason54' czy 'jason14653', bo to bez sensu. Probowalem heada przelepic nizej i zapodac w nim $i z petli służącej do wyswietlania komentarzy, jednak to rowniez nie podziałało. Prosze mnie poprawic jesli sie myle, ale head nie moze byc modyfikowany dynamicznie?
Ktos ma jakis pomysl jak to poskładać? Bede wdzieczny.

Edit:

Przelepilem <head> nizej kodu, tam gdzie została zainicjowana petla dla zmiennej %i.
Wczesniej dalem: (dla odczytania liczby wyswietlonych komentarzy)
Kod
$licznik = $wiersz->num_rows;


A pozniej w samym headzie cos takiego:
Kod
<script type="text/javascript">

animatedcollapse.addDiv('jason', 'fade=0,height=')
<?php
for ($a=1; $a<$licznik; $a++)
{
echo "animatedcollapse.addDiv('jason".$a."', 'fade=0,height=')";
}
?>
animatedcollapse.init()

</script>


I... dalej nic, ale proboje dalej i licze na propozycje.
AxZx
może takie coś:
Kod
<script type="text/javascript">
<?php for($i=0;$i<=100;$i++): ?>
animatedcollapse.addDiv('jason<?=$i?>', 'fade=0,height=')
<?php endforeach; ?>
animatedcollapse.init()
</script>


jak masz tych divów 10000000 to może być trochę głupi pomysł. wtedy spróbuj napisać coś innego w JS zamiast korzystać z tego gotowca animatedcollapse.
zaaap
To niestety jak moj Edit na gorze (prawie identyczny) nie podziałało
AxZx
ale jaki jest błąd?
może średnik na końcu?
Kod
echo "animatedcollapse.addDiv('jason".$a."', 'fade=0,height=');";
zaaap
Cytat(AxZx @ 28.11.2008, 01:24:56 ) *
ale jaki jest błąd?
może średnik na końcu?
Kod
echo "animatedcollapse.addDiv('jason".$a."', 'fade=0,height=');";


Błedu nie ma, po prostu div sie nie pokazuje (nie rozwija)

A niby po co mialby byc tam srednik? W orginale nie ma, i zeby nie bylo, to sprawdzilem ze srednikiem i nic

Dobra zrobione, oto co pomogło:
1) wczesniej nie zauwazylem, ze sekcje head mam pod echo z php, wiec nie za bardzo
2) a tak to wyglada
Kod
<script type="text/javascript">

animatedcollapse.addDiv('jason', 'fade=0,height=')
<?php
for ($a=1; $a<$licznik; $a++)
{
?>
animatedcollapse.addDiv('jason<?php echo $a; ?>', 'fade=0,height=')
<?php
}
?>

animatedcollapse.init()

</script>
magra
A po cholere ci ten "animatedcollapse" skoro masz jquery:
  1. <?php
  2. $(document).ready(function(){
  3.  $('.showableDiv').bind('click', function(){
  4.    $(this).slideToggle();
  5.  });
  6. });
  7. ?>


dajesz wszystkim divom klase "showableDiv" i wio
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.