$(window).load(function(){
alert(typeof $.fn.init_deps);
});
$(document).ready(function(){
/* Departments switcher */
$.fn.init_deps = function(s){
var o = {
deps:false,
cats:false
}
$.extend(o,s);
if(!s.deps || !s.cats) {return;}
return this.each(function(){
var select = $('<select id="department" name="department"></select>')
.appendTo(this)
.departments(s)
.change(function(){
var select = $('select#category');
select.categories({cats:s.cats,current_dep:$(this).val()});
var p_width = select.parent().outerWidth();
var ch_width = select.outerWidth();
select.parent().css('width',p_width+'px')
.find('select').css('width',(ch_width + 8)+'px')
.parent().find('span').css('width',(p_width - 20)+'px');
$.uniform.update(select);
});
var p_width = select.parent().outerWidth();
var ch_width = select.outerWidth();
select.uniform({selectClass:'selector uni1'})
.parent().css('width',p_width+'px')
.find('select').css('width',(ch_width + 8)+'px')
.parent().find('span').css('width',(p_width - 20)+'px');
});
}
});
L'alerte retourne undefined dans IE7, mais dans tous les autres navigateurs, elle renvoie la fonction.
Aide, ne peut pas déterminer où est le problème.
IE ne lance aucune alerte et ne génère aucune erreur. Je suis totalement confus. Mais je jette l'alerte si je supprime complètement les fonctions. – Somebody
cela signifie qu'il y a une erreur de script. essayez de commenter des parties du code, comme les parties où vous assignez mathématiquement largeur/hauteur et voyez si c'est dans le bon format. assurez-vous également que vous n'utilisez pas les mots réservés IE, essayez de donner un nom différent à certaines variables. –
Assurez-vous que '$ .fn.departments' et' $ .fn.categories' sont aussi assignés AVANT DOM READY en le mettant dans la fonction '(function ($) {') –