funzione Jquery levetta rompe su pagine che includono MooTools o sceneggiatura Slimbox
Domanda
Il mio amico mi viene chiesto di guardare oltre il suo sito, dove c'è un errore nelle pagine che utilizzano slimbox-- una levetta funzioni Jquery estranei breaks- ecco il codice:
$(function() {
$(".cat_nav dd").hide();
$(".cat_nav dt").click(function() {
$(this).next().toggle();
return false;
});
});
Questo codice funziona bene quando script Slimbox e MooTools non sono presenti, ma avere uno di questi script rotture di carico da-gli elementi dt
non sono nascosti e cliccando sui rispettivi dd
s non alternare loro nascosta. Ecco il messaggio di errore da console JS di Safari:
TypeError: Result of expression '$(".cat_nav dd")' [null] is not an object.
Questo errore viene visualizzato solo sulle pagine che caricano Slimbox o MooTools, in questo modo:
<script type="text/javascript" src="/js/mootools.js" charset="utf-8"></script>
<script type="text/javascript" src="/js/slimbox.js" charset="utf-8"></script>
C'è un modo di comporre questo che è compatibile con Slimbox? Lei sta usando Slimbox per visualizzare gallerie su alcune pagine che utilizzano questa funzione.
Soluzione
Questo articolo dovrebbe aiutare. Fondamentalmente è necessario chiamare noConflict
e utilizzare jQuery()
per richiamare le funzioni di jQuery.
Altri suggerimenti
Questo errore compare a causa dell'utilizzo di $(".cat_nav dd")
, è necessario utilizzare $$(".cat_nav dd")
, perché la funzione $()
in MooTools prendere solo elemento id non selettore CSS.