Ich mag es, meinen Code so sauber wie möglich zu halten, und ich frage mich nur, was wäre der beste Weg, um dieses Problem zu umgehen, wenn es um Best Practices geht.Sollte ich jQuery eine 'if'-Anweisung hinzufügen, die auf bestimmten Seiten nicht ausgeführt wird?
Ich habe die folgende Funktion:
$('.car-hub-header-help, #assistance-overlay').click(function(){
$('#new-car-hub, #new-car-offer').toggleClass('assistance-active');
$('#pulman-assistance').toggleClass('pulman-assistance-active').css("top", fixedPositionCalculator);
$('#assistance-overlay').toggleClass('assistance-overlay-active');
$('#new-car').toggleClass('assistance-active-body');
$('#new-car-offer-cta').toggleClass('assistance-active-cta');
});
Nun, wie Sie diese Funktion sehr einfach sehen kann, ist es Klassen nur schaltet basierend auf einem Click-Ereignis. Ein Problem, das ich habe, ist, dass das Element new-car-offer-cta
nur auf bestimmten Seiten ist und es scheint, dass es eine schlechte Übung ist, diesen Teil der Funktion auszuführen, wenn das Element nicht auf einigen meiner Seiten ist.
So frage ich mich nur, wenn dies eine bessere Praxis sei:
$('.car-hub-header-help, #assistance-overlay').click(function(){
$('#new-car-hub, #new-car-offer').toggleClass('assistance-active');
$('#pulman-assistance').toggleClass('pulman-assistance-active').css("top", fixedPositionCalculator);
$('#assistance-overlay').toggleClass('assistance-overlay-active');
$('#new-car').toggleClass('assistance-active-body');
var carOfferCta = $('#new-car-offer-cta');
if (carOfferCta.length) {
carOfferCta.toggleClass('assistance-active-cta');
};
});
so dass ein Teil der Funktion wird nicht ausgeführt, wenn das Element auf der Seite. Ich frage mich nur, was als Best Practice gilt. Danke
Es gibt keine "Best Practice" - wenn Sie 100% der Befehle im 'if' haben, dann, ja, abkürzen Sie es, aber der Code zur Verfügung gestellt erhält nichts aus dem' if'. Ein besserer Weg (Meinung) wäre es umzudrehen und toggleClass nur auf eine bestimmte Klasse anzuwenden und diese Klasse den Elementen hinzuzufügen, die durch den Klick umgeschaltet werden sollen. Dann müssen Sie Ihren Code nicht jedes Mal ändern, wenn Sie ein neues Element hinzufügen. Fügen Sie einfach die Klasse zu diesem Element hinzu. –