Como eu resolvo este conflito de plugins do jQuery?

Eu estou usando dois plugins jQuery diferentes; um para ticker de logotipo de notícias e outro para controle deslizante de texto horizontal.

mas apenas um deles está trabalhando em um momento em que quando usado em uma única página pode ser por causa do conflito jQuery .. Se eu comentar primeiro plugin segundo plugin funciona bem e verso vice.

Aqui está o código:

   jQuery(document).ready( function() { jQuery("#news").newsTicker(); jQuery("#development").newsTicker(); } );        jQuery(function(){ jQuery("#accordion").accordion({ header: "h3" }); });     

Obrigado!

Tente organizar suas referências de script:

1) jquery

2) jquery-ui

3) newsticker

e adicione-o ao topo da página antes de chamar qualquer método relacionado ao jquery.

Não tem 100% de certeza se isso funcionará, mas experimente.

Não sei qual versão do newsticker você está usando, mas dê uma olhada neste link .

  1. Nem sempre é suficiente apenas adicionar jQuery.noConflict(); . Você também pode precisar replace todas as ocorrências $ por jQuery. A dificuldade é que as variables ​​são geralmente definidas como $a_variable_name , substituindo as variables ​​$ in resultará em erros.

    Veja se você pode encontrar uma versão do tipsy com as edições noConflict já feitas. Note também, muitas vezes é necessário adicionar noConflict e replace $ com jQuery para outros scripts jQuery, especialmente se esse script é dependente de outro.

    Isso resolve os conflitos, já que faço isso há algum tempo. Observe também que, se você usar o jQuery, essas edições normalmente não serão necessárias.

  2. A seqüência que você carrega arquivos de script também é importante, tente reorganizá-los.

  3. Só execute scripts quando eles forem necessários. Em outras palavras, se uma determinada parte do código estiver causando conflito, carregue-a na página em que ela é necessária e não no header, usando tags de script.

Você pode precisar declarar variável. Porque $ está usando em outras estruturas js como protótipo. então simplesmente coloque sob o seguinte script no topo do seu script.

 var jQuery = jQuery.noConflict(); 

Eu enfrentei o mesmo problema ao usar um monte de plugins para a minha página web. A solução mais fácil é ter um arquivo concatenado de todos os arquivos .js e ter uma única inclusão na cabeça. Além disso, você pode diminuir (minify ferramentas disponíveis online) o arquivo concatenado e apenas include a versão min. Isso deve resolver o problema.

Mais uma forma é garantir que o plugin esteja disponível antes de chamar a function no plug-in. Tente usar o getScript do jquery para garantir que ambos os plugins sejam carregados e faça as chamadas de function do plugin dentro do manipulador de sucesso do getScript