CJ největší affiliate síť v ČR, 40+ inzerentů CPC,CPL,CPO model. Začni vydělávat teď
Zobrazují se odpovědi 1 až 3 z 3

Proměnný klikací banner

  1. Zdravím webtržníky,

    potřeboval bych poradit s poměrně jednoduchým scriptem. V JS nenapíšu ani jeden řádek a tak doufám že mi někdo schopnější poradí s tímto problémem.

    Potřebuji klikací obrázek, který se bude měnit dle nějaké čas. konstanty i s tím odkazem. Výstup v html by měl vypadat nějak takto:

    <a href=adresa1><img src=obrazek1></a>
    po 5ti sekundách: <a href=adresa2><img src=obrazek2></a>
    po dalších 5ti: <a href=adresa3><img src=obrazek3></a>
    a po dalších zase první obrázek

    Našel jsem:

    Kód:
    obr = -1; 
    cas = 2000; 
    function animation(){ 
    obrazky = ["1.jpg","2.jpg",]; 
    if (obr+1==obrazky.length) obr=0; 
    else obr++; 
    obrazek.src = obrazky[obr]; 
    window.setTimeout('animation()',cas); 
    } 
    
    a potom <img src=obrazek>
    tím se mi mění obrázek, zkoušel jsem to různě upravit i pro odkaz, ale bohužel nefunguje. Jde to vůbec nějak jednoduše použít?

    Díky

  2. Happy Robot :]

    Co se právě děje na Webtrhu?

  3. To už se řešilo tady nebo třeba tady.

    Kód:
    <!doctype html >
    <html xmlns='http://www.w3.org/1999/xhtml'>
        <head>
            <title>
                Bannery
            </title>
            <meta charset="utf-8" />
            <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
            
            <!-- Rotace bannerů -->
            
            <script>
    
                /**
                 * Rotace bannerů
                 */
                rotateBanners = {
                    
                    /**
                     * Inicializace
                     *
                     * @param  params     objekt s parametry
                     * @option   width      šířka banneru
                     * @option   height     výška banneru
                     * @option   interval   interval mezi rotacemi (v sekundách)
                     * @option   items      pole s daty bannerů ve tvaru {link: '', image: '', alt: ''}
                     */
                    init: function($container, params) {
                        
                        // Defaultní hodnoty
                        var
                            self = this,
                            params = $.extend({
                                width: 600,
                                height: 100,
                                interval: 10
                            }, params);
                        params.interval = params.interval <= 0 ? 1 : params.interval;
                        params.interval *= 1000;
         
                        // Kontroly
                        if (!params.items)
                            throw('rotateBanners.init: "Nebyla předána data bannerů v poli items".');
                        if (!params.items.length)
                            throw('rotateBanners.init: "Pole items musí obsahovat alespoň jednu položku".');
                        
                        // Uchování parametrů
                        $container.data('params', params);
                        
                        // Nastavení prvního banneru
                        this.rotate($container);
                        
                        // Rotace v intervalu params.interval
                        setInterval(function() {
                            var id = $container.data('params').id;
                            self.rotate($container, id < params.items.length - 1 ? ++id : 0);
                        }, params.interval);
                    },
    
                    /**
                     * Rotace
                     *
                     * @param id index položky v poli params.items (nepovinný, 0)
                     */
                    rotate: function($container, id) {
                        
                        // Kontroly
                        if (!$container)
                            throw('rotateBanners.rotate: "Nebyl předán parametr $container".');
                        if (!$container.length)
                            throw('rotateBanners.rotate: "Prvek předaný parametrem $container neexistuje".');
                        var params = $container.data('params');
                        if (!params)
                            throw('rotateBanners.rotate: "Prvek předaný parametrem $container nebyl inicializován".');
                        params.id = !id || id < 0 || id > params.items.length - 1 ? 0 : id;
                        var item = $.extend({
                            link: '',
                            image: '',
                            alt: ''
                        }, params.items[params.id]);
    
                        // Vyprázdnění kontejneru a uložení aktuálních parametrů
                        $container
                            .data('params', params)
                            .empty();
                        
                        // Vytvoření nového banneru a vložení do kontejneru
                        $([
                            '<a href="' + item.link + '">',
                            '    <img',
                            '        src="' + item.image + '"',
                            '        alt="' + item.alt + '"',
                            '    />',
                            '</a>'
                        ].join('\n'))
                            .appendTo($container)
                            .css({
                                width: params.width,
                                height: params.height
                            });
                    }
                };
                
                // Alias pro jQuery
                $.fn.rotateBanners = function(params) {
                    rotateBanners.init(this, params);
                    return this;
                };
            </script>
    
            <!-- Inicializace -->
    
            <script>
                $(function() {
                    $('#test').rotateBanners({
                        width: 468,
                        height: 60,
                        interval: 2,
                        items: [
                            {
                                link: 'http://www.vase-stavba.cz/d/34264',
                                image: 'http://stavba-bazar.cz/banner-stavba/fullbanner_i_malej_jarda_vi.gif',
                                alt: 'Stavební materiál'
                            },
                            {
                                link: 'http://www.onlineprekladac.eu/',
                                image: 'http://stavba-bazar.cz/banner-stavba/fullbanner-podlahy2.gif',
                                alt: 'Podlahy a schody',
                            },
                            {
                                link: 'http://stavba-bazar.cz/stavba/',
                                image: 'http://stavba-bazar.cz/banner-stavba/fullbanner-okna3.gif',
                                alt: 'Okna a parapety'
                            }
                        ]
                    });
                });
            </script>
        </head>
        <body>
            <div id="test"></div>
        </body>
    </html>

  4. Ten druhej odkaz je to co jsem popsal nahoře. Ten první funguje, díky.

Podobná témata

  1. součet proměnných ve while
    By Petr Jeník in forum PHP
    Odpovědí: 3
    Poslední příspěvek: 09.01.2010, 16:15
  2. Problém s proměnnými
    By Keert in forum PHP
    Odpovědí: 6
    Poslední příspěvek: 24.10.2009, 13:13
  3. Nenaplnění proměnné - undefined
    By weckho in forum Javascript
    Odpovědí: 1
    Poslední příspěvek: 09.08.2009, 14:50
  4. Přenos proměnných
    By Histler in forum PHP
    Odpovědí: 6
    Poslední příspěvek: 14.01.2009, 19:54
  5. Je proměnná definována?
    By pkotala in forum PHP
    Odpovědí: 4
    Poslední příspěvek: 14.01.2008, 21:28
Hostujeme u Server powered by TELE3