PDA

Zobacz pełną wersję : Co robie źle



Ilidir
26-03-2011, 15:57
Witam,

mam taki problem a mianowicie. W niżej pokazanym kodzie, nie wiem co jest źle ?? Sprawdziłem działanie tego mechanizmu niwelując ********** a wstawiając tylko i wyłącznie w diva <img src='nazwa_obrazu.JPG '/> działa i przesuwa się bez zarzutu proszę o pomoc w rozwiązaniu mojego problemu lub o inne sugestia na jego rozwiązanie.


<div class="marquee" id="mycrawler2">

<!-- skrypt do wyświetlania fotek --!>

<script type="text/javascript">

for (i=0; i<5; i+=1) {
document.write("<img src='" + i + ".JPG'><img src='templates/<?php echo $this->template ?>/images/foto/" + (i+1) + ".JPG'><br />");
}

</script>
<!-- koniec --!>


</div>

Pozdrawiam

Robster
26-03-2011, 16:08
Ja tam na php się za bardzo nie znam, ale funkcje iteracyjne to chyba wszędzie są te same, więc:

for (i=0; i<5; i+=1)
raczej

for (i=0; i<5; i++)
a tutaj

document.write("<img src='" + i + ".JPG'><img src='templates/<?php echo $this->template ?>/images/foto/" + (i+1) + ".JPG'><br />");
lepiej

document.write("<img src='" + i + ".JPG'><img src='templates/<?php echo $this->template ?>/images/foto/" + i + ".JPG'><br />");
skoro i tak zwiększasz i w pętli to po co ponownie dodawać do niego wartość 1? Chyba że to zmierzone i chcesz mieć tam wartość o 1 większą niż i.

moje
26-03-2011, 16:26
Zapis i++ jest tym samym co i+=1, ja bym zmienił i+1 które jest w linku na i+=1 lub i++ jeśli ma tam być wartość o jeden większa od i.

Ilidir
26-03-2011, 16:34
zmiana i++ nic nie dała. Sprawdziłem i poza znacznikiem div owa funkcja działa. Nie działa tylko i wyłącznie w połączeniu diva z scriptem.

moje
26-03-2011, 16:39
A nie możesz wyświetlić kodu html przy pomocy PHP?

Ilidir
26-03-2011, 16:46
zastosowanie <?php ?> generuje błąd ponieważ cały kod jest w php wskazuje na to rozszerzenie mojego index-a które jest *.php

Robster
26-03-2011, 17:05
Zapis i++ jest tym samym co i+=1, ja bym zmienił i+1 które jest w linku na i+=1 lub i++ jeśli ma tam być wartość o jeden większa od i.

Masz rację, tyle że ja ostatni raz stosowałem ten zapis z 7 lat temu :) Jak człowiek po takim czasie nie pamięta takich rzeczy, to co będzie w przyszłości?

@Ilidir jak znacznik php może wywalać błąd skoro masz go w tej funkcji i mówisz, że działa?

Ilidir
26-03-2011, 20:46
Tak tak ale myślałęm że kolego mówi o tym żebym diva zagnieżdził w php

moje
26-03-2011, 20:59
1. A co to za problem?
2. czemu nie korzystasz z katalogu grafiki, a z katalogu szablonu?
3. Masz poprawna ścieżkę do plików?
4. Czemu są tam dwa tagi img?
4a. czemu, żaden z nich nie jest zamknięty?
5. Czy pliki graficzne na pewno mają rozszerzenie napisane wielkimi literami?

Ilidir
26-03-2011, 21:11
Jeżeli korzystam z takiego rozwiązania



<!-- skrypt do wyświetlania fotek --!>

<script type="text/javascript">

for (i=0; i<5; i+=1) {
document.write("<img src='" + i + ".JPG'><img src='templates/<?php echo $this->template ?>/images/foto/" + (i+1) + ".JPG'><br />");
}

</script>
<!-- koniec --!>


to działa mi to bez żadnego problemu wyświetla mi to wszystkie obrazy o 1 do 5

Jeżeli użyje takiego rozwiązania

<div class="marquee" id="mycrawler2">

<!-- skrypt do wyświetlania fotek --!>

<script type="text/javascript">

for (i=0; i<5; i+=1) {
document.write("<img src='" + i + ".JPG'><img src='templates/<?php echo $this->template ?>/images/foto/" + (i+1) + ".JPG'><br />");
}

</script>
<!-- koniec --!>


</div>to już mi to nie działa i włśnie nie wiem dlaczego

moje
26-03-2011, 21:26
Wiesz jaka jest różnica miedzy kodem php, html i js?
Obydwa powyższe przykłady przedstawiają to samo.

Nie odpowiedziałeś na pytania powyżej.

Ilidir
26-03-2011, 22:33
1. A co to za problem?
Nie wyświetla mi obrazków które by się poruszały (wykorzystanie funkcji marquee)


2. czemu nie korzystasz z katalogu grafiki, a z katalogu szablonu?
zastosowanie ścieżki do grafiki nic nie daje


3. Masz poprawna ścieżkę do plików?
Tak gdyż po wykluczeniu diva funckja wyświetla mi obrazy znajdujące się w katalogu


4. Czemu są tam dwa tagi img?
szczerze powiedziawszy nie wiem ;p


4a. czemu, żaden z nich nie jest zamknięty?
wydaje mi sięże przy funkcji nie muszą być one zamkniete (la perwności pozamykałem Je ale nie wniosło to nic innego


5. Czy pliki graficzne na pewno mają rozszerzenie napisane wielkimi literami?
Tak format jest poprawny

Chodzi mi oto żeby przy wykorzystaniu funkcji marquee wyświetlić całą zawartość katalogu w którym znajduje się grafika.
Chyba że zna ktoś inne rozwiązanie problemu z poruszająca lub też zmieniającą się grafiką (tj. zdjęciami na stronie w joomla)

Pozdrawiam

moje
26-03-2011, 22:47
Napisz/wklej (jeśli go skądś skopiowałeś) poprawny kod.

Jola
26-03-2011, 23:23
Witam
przetestuj, porównaj cos takiego (dla szablonu rhuk_milkyway):

<div class="marquee" id="mycrawler2">
<script language="javascript" type="text/javascript">
for (i=0; i<5; i+=1) {
aaa = 'templates/<?php echo $this->template; ?>/images/indent' + i + '.png';
document.write('<img src=' + aaa + ' />');
}
</script>
</div>

Ilidir
27-03-2011, 14:46
Napisz/wklej (jeśli go skądś skopiowałeś) poprawny kod.

połączyłem kod ze strony http://www.dynamicdrive.com/dynamicindex2/crawler/index.htm razem z kodem funkcji js (http://forum.ks-ekspert.pl/topic/71140-java-script-funkcja-wyswietlajaca-obrazki/) która miała być odpowiedzialna za wyświetlenie zawartości całego katalogu.

---------- Post dodany o 14:46 ---------- Poprzedni post był o 14:42 ----------


Witam
przetestuj, porównaj cos takiego (dla szablonu rhuk_milkyway):

<div class="marquee" id="mycrawler2">
<script language="javascript" type="text/javascript">
for (i=0; i<5; i+=1) {
aaa = 'templates/<?php echo $this->template; ?>/images/indent' + i + '.png';
document.write('<img src=' + aaa + ' />');
}
</script>
</div>


nie pomogło to w rozwiązaniu mojego problemu :(

moje
27-03-2011, 15:08
A nie możesz poszukać odpowiedniego modułu?

Ilidir
27-03-2011, 16:36
a czy jest wogóle taki moduł ??

moje
27-03-2011, 17:28
A w ogóle to chociaż raz szukałeś?

Polecam udać się na JED.

Ilidir
27-03-2011, 21:31
Faktycznie na JED znalazłem odpowiedni modulik bardzo dziękuję za podpowiedź :) Ale i tak ciekawi mnie dlaczego ten script nie chce współpracować z kodem

Craft
27-03-2011, 23:41
A podglądałeś kod wynikowy na stronie, np. firebug'em?
I po co listujesz zdjęcia w js a nie za pomocą PHP?

Ilidir
28-03-2011, 08:22
A podglądałeś kod wynikowy na stronie, np. firebug'em?
I po co listujesz zdjęcia w js a nie za pomocą PHP?

ponieważ nie wiem jak wylistowac je za pomocą PHP

Craft
28-03-2011, 12:16
spróbuj tak



<div class="marquee" id="mycrawler2">
<?php
for ($i=0; $i<5; $i++) {
echo '<img src="templates/'.$this->template.'/images/foto/'.$i.'\.JPG">';
}
?>
</div>

Ilidir
28-03-2011, 14:08
niestety php też zawiodło