wandert dir vor, wenn es sinnvoll ist, zu verwenden, wenn Aussagen wie unten in jquery Dokument-Ready-Funktion wird nur, wenn auf einer bestimmten Seite gefeuert Skript, um sicherzustellen, ..Ist es sinnvoll, if-Anweisungen zu verwenden, um seitenabhängigen Code mit jQuery zu trennen?
if(window.location.href.indexOf("our-team")>= 0){
if(window.location.hash) {
var hash = window.location.hash;
$('#teamMembers div:not('+hash+')').hide();
$("#teamMenu .imgHolder").removeClass('active');
$('a[href='+hash+']').closest(".imgHolder").addClass('active');
}
else {
$('#teamMembers div:not(#member1)').hide();
}
}
Dies ist wahrscheinlich nicht sehr effizient, aber die if-Anweisung erforderlich, um das Ausführen des Skripts zu stoppen, wenn die aktuelle Seite unser Team nicht in der URL enthält.
Irgendwelche Ideen Leute?
Vielen Dank, dies hat ein paar Dinge für mich geklärt, ich habe alternative Methoden wie verwendet. 'Code'if (. $ ('# Div') Länge) { jQuery ('# div') functionName- ({ // Stuff hier }). } 'code' ... Würde' code' if ($ (document.body) .hasClass ("someClass")) 'code' Diese Anweisung wäre effizienter? – madmatuk
'if ($ (document.body) .hasClass ("ourteam"))' sehr effizient ist, weil es keine Wähler Operationen sind. 'document.body' ist ein bekanntes Objekt, so dass nur eine Eigenschaft von diesem bekannten Objekt abgerufen wird. 'If ($ (‚# div‘). Länge)' weil intern wahrscheinlich nicht schlecht, es wird ein 'document.getElementById („div“)' sein, die eine Auswahloperation, sondern ist einer der schneller diejenigen. Wenn Sie die Leistung der beiden vergleichen möchten, müssen Sie eine Reihe von Browsern vergleichen, um sie zu messen. – jfriend00
Großartig, danke für Ihre Erklärung. – madmatuk