Autor Zpráva
Hubi1148
Profil *
Ahoj, potřeboval bych pomoct. V JS jsem uplnej začátečník a potřeboval bych aby se mi text a obrázek co je u textu každejch 10 sekund vyměnil za jinej text a obrázek. Texty a umístění obrázku tahám z databáze. Nevíte někdo jak na to? Předem děkuju=)
asdasd
Profil *
Proč se ptáš na několika místech naráz?

<!doctype html>
<html>
    <head>
        <title>
            Rotace textů
        </title>
        <meta charset="utf-8">
        <script src="http://code.jquery.com/jquery-1.7.min.js"></script>
        <script>

            /**
             * Rotace textů
             *
             * @param  params     Objekt s parametry
             * @option   interval   Interval pro rotaci (nepovinný, 1000)
             * @option   texts      Pole s texty
             */
            $.fn.rotateTexts = function(params) {
                
                // Kontroly
                if (typeof params == 'undefined')
                    throw '$.rotateTexts: "Nebyly předány parametry".';
                if (typeof params.texts == 'undefined')
                    throw '$.rotateTexts: "V parametrech nebylo předáno pole s texty".';
                if (!params.texts.length)
                    throw '$.rotateTexts: "Pole s texty je prázdné".';
                
                // Výpis prvního textu
                this.text(params.texts[0]);

                // Pokud pole obsahuje více než jeden text, tak se budou střídat v určeném intervalu
                if (params.texts.length > 1) {
                    var target = this.data('rotateTextsId', 0);
                    setInterval(function() {
                        var id = target.data('rotateTextsId');
                        id = id < params.texts.length - 1 ? ++id : 0;
                        target.text(params.texts[id]);
                        target.data('rotateTextsId', id);
                    }, params.interval || 1000);
                }
                
                // Zřetězování
                return this;
            };
            
            // Inicializace
            $(function() {
                $('#test').rotateTexts({
                    interval: 10000,
                    texts: [
                        'aaaaaaaaaa',
                        'bbbbbbbbbb',
                        'cccccccccc'
                    ]
                });
            });
        </script>
    </head>
    <body>
        <div id="test"></div>
    </body>
</html>

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0