Pomoc w modyfikacji

Odpowiedz Nowy wątek
2018-12-04 03:08
0

Potrzebuję zmodyfikować kod by tablica obrazów pobierana była cała bez dopisywania

"http://xxxxxxxxxxxxxx.home.pl/obrazy/6.jpg",
kolejnych

<!DOCTYPE html 
    PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>

<body style="overflow-y:hidden ;background:red;">
<div style="margin-left: auto; margin-right: auto;  width: 1000px;">
<marquee behavior="typ" style="margin-top:20px;font-size:35px;">Zapraszamy ..............</marquee>  /////////////////////////////////////Text ladowany z pliku txt
        <img id="slajder" onclick="uruchomPokaz()" style="width: 100%; height: 90vh; margin-top:10vh; border: 1px solid gray;" />
        <br />

    </div>

</body>

<script>
        // PSEUDO-STAŁE
        // domyślne opóźnienie automatycznego pokazu 2 sekundy
        var OPOZNIENIE = 6000;
        // zmienne globalne
        var numerSlajdu = 0;
        var slajdy = [ ];
        var timeout = null;

        // funkcja wczytująca obrazy (obrazy można dodać/odjąć na serwerze, ale trzeba od razu zrobić
        // zmiany w poniższej tablicy "preload")
        function preload() 
        {
            // wczytanie w pętli
            for (i = 0; i < preload.arguments.length; i++) 
            {
                slajdy[i] = new Image()
                slajdy[i].src = preload.arguments[i]
            }
        }
        // tablica obrazów 
        preload(
            "http://xxxxxxxxxxxxxx.home.pl/obrazy/1.jpg",
            "http://xxxxxxxxxxxxxx.home.pl/obrazy/2.jpg",/////////////////////////
            "http://xxxxxxxxxxxxxx.home.pl/obrazy/3.jpg",
            "http://xxxxxxxxxxxxxx.home.pl/obrazy/4.jpg", // to ładowanie wszystkich obrazów z katalogu obrazy bez wpisywania ręcznego
            "http://xxxxxxxxxxxxxx.home.pl/obrazy/5.jpg",
            "http://xxxxxxxxxxxxxx.home.pl/obrazy/6.jpg",
            "http://xxxxxxxxxxxxxx.home.pl/obrazy/7.jpg",////////////////////////////

        );

        // pokazuje slajd o zadanym indeksie
        function pokazSlajd(n)
        {
            // aktualizacja jeżeli n "wyszło" poza lewy zakres
            if (n < 0)
            {
                numerSlajdu = slajdy.length - 1;
            }

            // aktualizacja jeżeli n "wyszło" poza prawy zakres
            if (n >= slajdy.length)
            {
                numerSlajdu = 0;
            }

            // pobranie elementu
            var slajder = document.getElementById("slajder");

            // ustawienie obrazu
            slajder.src = slajdy[numerSlajdu].src;
        }

        // funkcja zwiększająca o 1 obraz (przesuwa w prawo)
        function inkrementuj()
        {
            clearTimeout(timeout);
            numerSlajdu++;
            pokazSlajd(numerSlajdu);
        }

        // funkcja zmniejszająca o 1 obraz (przesuwa w lewo)
        function dekrementuj()
        {
            clearTimeout(timeout);
            numerSlajdu--;
            pokazSlajd(numerSlajdu);
        }

        // automatyczny pokaz
        function uruchomPokaz()
        {
            inkrementuj();
            timeout = setTimeout(() =>
            {
                uruchomPokaz();
            }, OPOZNIENIE);
        }

        // pokazanie (inicjacja) pierwszego slajdu
        pokazSlajd(numerSlajdu);
        // uruchomienie automatycznego pokazu
        uruchomPokaz();
    </script>
</html>

Pozostało 580 znaków

2018-12-04 08:56
0

Chyba najprościej będzie wpisać powtarzalną część do zmiennej, a następnie przy każdym odwołaniu do preloadera połączyć sobie tę ścieżkę z nazwą konkretnego pliku.

Coś w stylu:

var sciezka='http://serwer.com/obrazki/grafiki/cokolwiek_innego/';
alert (sciezka + 'obrazek1.jpg');

Powyższy kod zwróci komunikat o treści http://serwer.com/obrazki/grafiki/cokolwiek_innego/obrazek1.jpg. Plusem tego rozwiązania jest to, że w wypadku zmiany lokalizacji obrazków, wystarczy że zmienisz ich położenie jeden raz w ramach tej zmiennej, nie musisz poprawiać przy każdym odwołaniu.

A jeżeli chodzi Ci o coś innego, to napisz proszę konkretniej, w czym jest problem.

EDIT
jeśli chodzi o fragment ładowanie wszystkich obrazów z katalogu obrazy bez wpisywania ręcznego - kiepsko to widzę. Twój skrypt działa w JavaScript, więc jest uruchamiany po stronie klienta (w przeglądarce uruchomionej u klienta). To, czego (prawdopodobnie) oczekujesz to wrzucenie automatyczne zdjęć z danego folderu na serwerze. To musi zostać wykonane po stronie serwera, w związku z czym JS się średnio do tego nadaje. Tutaj raczej powinnaś się zainteresować PHP, ale to zupełnie inny temat niż JS, więc może być Ci z tym ciężko :(


That game of life is hard to play
I'm gonna lose it anyway
The losing card I'll someday lay
So this is all I have to say
edytowany 4x, ostatnio: cerrato, 2018-12-04 09:02

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0