Ir para conteúdo
Fórum Script Brasil
  • 0

Evitar que resposta de chamada ajax, execute outra função fora do ajax


cassianooliver

Pergunta

coloquei um player em um site, como estou chamando as páginas por ajax, então imaginei que poderia por o player sem frame ou iframe que não haveria problema..

me enganei..

toda vez que chamo uma página, a função que cria o player e executa uma música é chamada....

função que chama as páginas

$("#menu a").click(
        function() {
            var carregando = $("#carregando");
            var pg = $(this).attr("href");
            var pagina = $("#colunas");
            var mostra = $("#ColDir");
            
            $("#menu").find("a.ativo").removeClass("ativo");
            $(this).addClass("ativo");
            
            carregando.show();
            mostra.empty();
            pagina.slideUp();
                        
            $.ajax({
                url: "carrega.php",
                type: "get",
                data: pg,
                success: function(resposta) {
                    mostra.load(resposta);
                    setTimeout(
                        function atualiza() {
                            carregando.hide();
                            pagina.slideDown();
                        }, 
                        3000
                    );
                }
            });
            return false;
        }
    );
função que cria o player
var musicas = "#musicas";
    $(musicas).change(function() {
        $(musicas + " option:selected").each(function() {
            CriarPlayer($(this).val(), 425, 20, true);
        });
    });
e na div
<script type="text/javascript">
            function CriarPlayer(url, largura, altura, ok) {
                var player = new SWFObject("player/player.swf", "mediaplayer", largura, altura, "9");
                player.addParam("allowfullscreen", "true");
                player.addVariable("backcolor", "0x000000");
                player.addVariable("frontcolor", "0x99cc00");
                player.addVariable("lightcolor", "0xffffff");
                /* player.addVariable("image","teste.jpg"); */
                /* player.addVariable("overstretch","fit"); */
                player.addVariable("width", largura);
                player.addVariable("height", altura);
                player.addVariable("file", url);
                player.addVariable("autostart", "true");
                player.addVariable("repeat", "false");
                player.addVariable("showstop", "true");
                player.addVariable("volume", "70");
                player.write("player");
            }
            CriarPlayer("mp3/bonde_do_forro-agarra_agarra.mp3", 425, 20, true);
            
            </script>

sempre que a página é carregada, a função CriarPlayer também é executada, quero evitar isso...

tem como?

* OBS, agora que reparei, isso só acontece no firefox...

aqui o link do site para que possam visualizar...

LINK

Editado por cassianooliver
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Esta é a coisa mais bisonha que eu já vi em javascript.

Eu não manjo de Jquery, mas o que eu consigo perceber no seu código é que essa função de criar o player e executar a música só é chamada ao mudar o objeto de id "musicas", certo?

Cara, em se tratando de biblioteca, pode ser um bug... Se as páginas que está requisitando não tem chamadas à essa função de criar player, não faz mesmo o menor sentido ela ser executada.

Desculpa, mas eu não sei como te ajudar mesmo...

Link para o comentário
Compartilhar em outros sites

  • 0
kakarotto, com sua idéia sobre bug, resolvi fazer testes no script, e achei o "bug", bom, considero um bug...

simplesmente troquei o efeito de slide por fade, e agora ta 100%!

brigadão pela atenção...

Vichhh... O.O

Ficou mais estranho ainda...rsrsrs. Bom, ainda bem que solucionou até rápido pra um problema desses.

Dá um google pra ver se alguém não teve o mesmo problema e veja se há alguma solução. Se não tiver você também pode mandar um email sei lá, reportando o bug pros desenvolvedores.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...