Logo Rotativo

4 participantes

Ir para baixo

Tópico resolvido Logo Rotativo

Mensagem por ZombieW 25/09/14, 03:02 am

  • Descrição:
Boa noite, 

Há algum tempo, eu pedi um código para fazer meus banners serem rotativos:

Código:
window.addEventListener('DOMContentLoaded', function() {
    var urls = [
            'http://giant.gfycat.com/SelfreliantRequiredHarvestmouse.gif',
            'http://s4.uploads.im/S8yN7.gif'
        ],
        pics = urls.length,
        logo = document.querySelector('#logo img');

    if (iv(logo) == false) return;
    window.setInterval(function() {
        logo.src = urls[randoms(0, pics - 1)];
    }, 6000);
});

function iv(element) {
    var eap,
        rect = element.getBoundingClientRect(),
        doc = document.documentElement,
        vWidth = window.innerWidth || doc.clientWidth,
        vHeight = window.innerHeight || doc.clientHeight,
        fromPoint = function(x, y) {
            return document.elementFromPoint(x, y)
        },
        contains = "contains" in element ? "contains" : "compareDocumentPosition",
        has = contains == "contains" ? 1 : 0x14;

    if (rect.right < 0 || rect.bottom < 0 || rect.left > vWidth || rect.top > vHeight)
        return false;

    return (
        (eap = fromPoint(rect.left, rect.top)) == element || element[contains](eap) == has || (eap = fromPoint(rect.right, rect.top)) == element || element[contains](eap) == has || (eap = fromPoint(rect.right, rect.bottom)) == element || element[contains](eap) == has || (eap = fromPoint(rect.left, rect.bottom)) == element || element[contains](eap) == has
    );
};

function randoms(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

Gostaria de um novo código, para rotacionar meu logo, no lugar.

  • Informações:
Fórum:www.tutorialdoca.comVersão:PHPBB3
Tipo:Pedido de códigoTags:Rotativo

ZombieW
ZombieW
Super Membro

Membro desde : 02/08/2010
Mensagens : 1452
Pontos : 2020

http://www.perfectteam.org

Ir para o topo Ir para baixo

Tópico resolvido Re: Logo Rotativo

Mensagem por Shek 26/09/14, 11:56 am

Bom dia ZombieW!

Eu não compreendi bem sua questão. O código que nos informou emite um efeito de rotação no logo, na qual você quer de outra forma? Assim... rotacionar para que lado? Atualmente, o código rotaciona para qual lado?
Shek
Shek
Principal Contribuidor
Principal Contribuidor

Membro desde : 11/04/2009
Mensagens : 19006
Pontos : 22969

https://shiftactive.blogspot.com/ https://www.facebook.com/ShiftActif https://twitter.com/ShiftActif

Ir para o topo Ir para baixo

Tópico resolvido Re: Logo Rotativo

Mensagem por ZombieW 26/09/14, 03:39 pm

O código é o meu atual para rotacionar meus banners (parte superior do fórum).

A partir dele, gostaria que fosse feito outro código, de forma igual, para rotacionar meu logo (a imagem de "quem está conectado").
ZombieW
ZombieW
Super Membro

Membro desde : 02/08/2010
Mensagens : 1452
Pontos : 2020

http://www.perfectteam.org

Ir para o topo Ir para baixo

Tópico resolvido Re: Logo Rotativo

Mensagem por Roevs 02/10/14, 12:35 am

Olá,

Tente utilizar este código

Código:
    window.addEventListener('DOMContentLoaded', function() {
        var urls = [
                'http://giant.gfycat.com/SelfreliantRequiredHarvestmouse.gif',
                'http://s4.uploads.im/S8yN7.gif'
            ],
            pics = urls.length,
            logo = document.querySelector('.img-whois');

        if (iv(logo) == false) return;
        window.setInterval(function() {
            logo.src = urls[randoms(0, pics - 1)];
        }, 6000);
    });

    function iv(element) {
        var eap,
            rect = element.getBoundingClientRect(),
            doc = document.documentElement,
            vWidth = window.innerWidth || doc.clientWidth,
            vHeight = window.innerHeight || doc.clientHeight,
            fromPoint = function(x, y) {
                return document.elementFromPoint(x, y)
            },
            contains = "contains" in element ? "contains" : "compareDocumentPosition",
            has = contains == "contains" ? 1 : 0x14;

        if (rect.right < 0 || rect.bottom < 0 || rect.left > vWidth || rect.top > vHeight)
            return false;

        return (
            (eap = fromPoint(rect.left, rect.top)) == element || element[contains](eap) == has || (eap = fromPoint(rect.right, rect.top)) == element || element[contains](eap) == has || (eap = fromPoint(rect.right, rect.bottom)) == element || element[contains](eap) == has || (eap = fromPoint(rect.left, rect.bottom)) == element || element[contains](eap) == has
        );
    };

    function randoms(min, max) {
        return Math.floor(Math.random() * (max - min + 1)) + min;
    }

Até
Roevs
Roevs
Membro Entusiasta

Membro desde : 10/02/2012
Mensagens : 6484
Pontos : 8343

https://www.sololevelingrpg.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Logo Rotativo

Mensagem por ZombieW 03/10/14, 06:17 pm

Deu certo, obrigado.

Só uma dúvida:

Eu alterei o tempo para 3000 (ou seja, 3 segundos).

Ao entrar no site, a 1ª imagem fica por quase 7 segundos, depois vem a 2ª imagem e fica pelos 3 segundos.

O loop se repete corretamente, mas depois de algumas repetições, a 1ª imagem volta a ficar mais de 3 segundos.

Meu código atual:

Código:
window.addEventListener('DOMContentLoaded', function() {
    var urls = [
            'http://i39.servimg.com/u/f39/17/53/75/18/loadin10.gif',
            'http://i39.servimg.com/u/f39/17/53/75/18/loadin11.gif'
        ],
        pics = urls.length,
        logo = document.querySelector('.img-whois');

    if (iv(logo) == false) return;
    window.setInterval(function() {
        logo.src = urls[randoms(0, pics - 1)];
    }, 3000);
});

function iv(element) {
    var eap,
        rect = element.getBoundingClientRect(),
        doc = document.documentElement,
        vWidth = window.innerWidth || doc.clientWidth,
        vHeight = window.innerHeight || doc.clientHeight,
        fromPoint = function(x, y) {
            return document.elementFromPoint(x, y)
        },
        contains = "contains" in element ? "contains" : "compareDocumentPosition",
        has = contains == "contains" ? 1 : 0x14;

    if (rect.right < 0 || rect.bottom < 0 || rect.left > vWidth || rect.top > vHeight)
        return false;

    return (
        (eap = fromPoint(rect.left, rect.top)) == element || element[contains](eap) == has || (eap = fromPoint(rect.right, rect.top)) == element || element[contains](eap) == has || (eap = fromPoint(rect.right, rect.bottom)) == element || element[contains](eap) == has || (eap = fromPoint(rect.left, rect.bottom)) == element || element[contains](eap) == has
    );
};

function randoms(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}
ZombieW
ZombieW
Super Membro

Membro desde : 02/08/2010
Mensagens : 1452
Pontos : 2020

http://www.perfectteam.org

Ir para o topo Ir para baixo

Tópico resolvido Re: Logo Rotativo

Mensagem por ZombieW 12/10/14, 05:27 am

UP! ^^
ZombieW
ZombieW
Super Membro

Membro desde : 02/08/2010
Mensagens : 1452
Pontos : 2020

http://www.perfectteam.org

Ir para o topo Ir para baixo

Tópico resolvido Re: Logo Rotativo

Mensagem por Roevs 12/10/14, 06:20 am

Olá,

Não entendi, conseguiria explicar melhor qual seria o erro que esta a ocorrer ?

Até
Roevs
Roevs
Membro Entusiasta

Membro desde : 10/02/2012
Mensagens : 6484
Pontos : 8343

https://www.sololevelingrpg.com/

Ir para o topo Ir para baixo

Tópico resolvido Re: Logo Rotativo

Mensagem por ZombieW 12/10/14, 09:46 am

As vezes o código funciona e as vezes não.

Por exemplo, agora o logo nunca muda do 1º ao 2º.

As vezes, até muda, mas fica por muito mais tempo o 1º do que deveria ficar.
ZombieW
ZombieW
Super Membro

Membro desde : 02/08/2010
Mensagens : 1452
Pontos : 2020

http://www.perfectteam.org

Ir para o topo Ir para baixo

Tópico resolvido Re: Logo Rotativo

Mensagem por Sennior 19/10/14, 08:28 am

Logo Rotativo Symbol10Questão marcada como Resolvida ou o Autor solicitou que ela fosse arquivada.

Tópico marcado como Resolvido e movido para Questões resolvidas.
Sennior
Sennior
Principal Contribuidor
Principal Contribuidor

Membro desde : 10/06/2011
Mensagens : 16379
Pontos : 20903

https://ajuda.forumeiros.com/forum https://www.facebook.com/GladstonHenriq https://twitter.com/UmGladston

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos