Logo Rotativo

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido Logo Rotativo

Mensagem por ZombieW em 24/09/14, 09:02 pm

  • 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

avatar

ZombieW
Membro do Fórum

Masculino
Inscrito dia : 02/08/2010
Mensagens : 1274
Pontos Ativos : 1799

Ver perfil do usuário http://www.perfectteam.org

Resolvido Re: Logo Rotativo

Mensagem por Shek em 26/09/14, 05: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 CrowleyAdmineiro - Fórum dos Fóruns

Clicar no botão ou no OBRIGADO não mata ninguém!
avatar

Shek
Admineiro
Admineiro

Masculino
Inscrito dia : 11/04/2009
Mensagens : 17161
Pontos Ativos : 21418

Ver perfil do usuário http://www.shiftactif.com https://go.topicit.net/ZosT/61pMt1mPsG https://www.facebook.com/shek.crowley https://twitter.com/shek_forumactif

Resolvido Re: Logo Rotativo

Mensagem por ZombieW em 26/09/14, 09:39 am

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").
avatar

ZombieW
Membro do Fórum

Masculino
Inscrito dia : 02/08/2010
Mensagens : 1274
Pontos Ativos : 1799

Ver perfil do usuário http://www.perfectteam.org
  • 0

Resolvido Re: Logo Rotativo

Mensagem por iPrompt em 01/10/14, 06:35 pm

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é
avatar

iPrompt
Principal contribuidor
Principal contribuidor

Masculino
Inscrito dia : 10/02/2012
Mensagens : 5364
Pontos Ativos : 6851

Ver perfil do usuário http://webskins.forumeiros.com/

Resolvido Re: Logo Rotativo

Mensagem por ZombieW em 03/10/14, 12: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;
}
avatar

ZombieW
Membro do Fórum

Masculino
Inscrito dia : 02/08/2010
Mensagens : 1274
Pontos Ativos : 1799

Ver perfil do usuário http://www.perfectteam.org

Resolvido Re: Logo Rotativo

Mensagem por ZombieW em 11/10/14, 11:27 pm

UP! ^^
avatar

ZombieW
Membro do Fórum

Masculino
Inscrito dia : 02/08/2010
Mensagens : 1274
Pontos Ativos : 1799

Ver perfil do usuário http://www.perfectteam.org

Resolvido Re: Logo Rotativo

Mensagem por iPrompt em 12/10/14, 12:20 am

Olá,

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

Até
avatar

iPrompt
Principal contribuidor
Principal contribuidor

Masculino
Inscrito dia : 10/02/2012
Mensagens : 5364
Pontos Ativos : 6851

Ver perfil do usuário http://webskins.forumeiros.com/

Resolvido Re: Logo Rotativo

Mensagem por ZombieW em 12/10/14, 03: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.
avatar

ZombieW
Membro do Fórum

Masculino
Inscrito dia : 02/08/2010
Mensagens : 1274
Pontos Ativos : 1799

Ver perfil do usuário http://www.perfectteam.org

Resolvido Re: Logo Rotativo

Mensagem por Sennior em 19/10/14, 03:28 am

Questão marcada como Resolvida ou o Autor solicitou que ela fosse arquivada.

Tópico marcado como Resolvido e movido para Questões resolvidas.
avatar

Sennior
Membro profissional
Membro profissional

Masculino
Inscrito dia : 10/06/2011
Mensagens : 16302
Pontos Ativos : 20791

Ver perfil do usuário http://ajuda.forumeiros.com/forum https://www.facebook.com/GlladstonHenrique

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum