Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

André Wielki

Window Onload BUGANDO código JS

Recommended Posts

Observação: To tentando usar dois window.onload = no mesmo arquivo .js, um para cada coisa, não pode ter mais de um ?

 

 

Olha só, é o seguinte, eu fiz um código JS e coloquei no arquivo script.js pra ser executado ao carregar a página:

window.onload = function defer() {
    document.getElementById('hidden').style.display = "block";
    document.getElementById('loader').style.display = "none";
}

Tudo bem, e la no head do html, estou chamando o arquivo script.js:

    <script src="js/script.js"></script>

Tudo funciona certinho como deveria, é um JS que ao carregar a página, ele vai exibir um DIV que esta invisivel, e vice verso com o DIV que informa que a pagina esta carregando:

        <div id="loader" class="loader"><img src="images/loading3.gif"/></div>
        <div id="hidden" style="display: none;">
PAGINA AQUI
        </div>

Acontece que ao fazer isso, bugou meu outro javascript que esta no script.js,

então eu tirei e coloquei antes de fechar o </body> para em vez de chamar no window onload, ele simplesmente chamar o código direto.

<script>document.getElementById('hidden').style.display = "block";    document.getElementById('loader').style.display = "none";</script>
</body>

Ai tudo retornou a funcionar,

mas eu queria usar o window onload devolta, por que isso aconteceu ?

 

O código que ele bugou que estava junto ao script.js é este:

/* MOSTRA E ESCONDE BACKGROUND DAS TR ZEBRADA
-------------------------------------------- */
function id(el){
        return document.getElementById( el );
}
var cor_antiga;
window.onload = function()
{
        var trs = id('zebrada').getElementsByTagName('tr');
        for( var i=0; i<trs.length; i++ )
        {
                trs[i].onmouseover = function()
                {
                        cor_antiga = this.style.backgroundColor;
                        this.style.backgroundColor = 'rgba(70,130,180,0.2)';
                }
                trs[i].onmouseout = function()
                {
                        this.style.backgroundColor = cor_antiga;
                }
        }
}

 

===========================================================

RESOLVIDO APÓS PESQUISA EM: http://forum.imasters.com.br/topic/449824-executar-duas-funcoes-javascript-ao-carregar-a-pagina/

window.onload = function() {
    nome_da_funcao_1();
    nome_da_funcao_2();
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Observação: To tentando usar dois window.onload = no mesmo arquivo .js, um para cada coisa, não pode ter mais de um ?

não, pq um substitui o outro.

 

O que você deve fazer, é parar de usar direto .onload = e usar .addEventListenr

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.