Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 6.08.2013 Ostrzeżenie: (0%)
|
Witam - mam taki kod jak poniżej, ale chciałbym umieścić 500 elementów. Ręczne wbijanie tylu elementów jest drakońskie. Jak to skrócić?
registration = function (local_conf) { if (typeof jQuery === 'undefined') { throw 'registration exception: jQuery not found.'; } var conf = {}; conf.boxId = null; conf.env = null; /** * @param {Object} data */ var init = function (local_conf) { conf = jQuery.extend(conf, local_conf); // init = function () { }; jQuery( 'div.chamber_menu a' ).click( function() { var menuType = this.name; jQuery( 'div.chamber_menu a' ).attr( 'class', '' ); jQuery( this ).attr( 'class', 'active' ); switch(menuType) { case '0-1': jQuery('div.form-2').hide(); jQuery('div.form-3').hide(); jQuery('div.form-4').hide(); jQuery('div.form-5').hide(); jQuery('div.form-1').show(); jQuery('div.form-6').hide(); jQuery('div.form-7').hide(); jQuery('div.form-8').hide(); break; case '0-2': jQuery('div.form-2').show(); jQuery('div.form-1').hide(); jQuery('div.form-3').hide(); jQuery('div.form-4').hide(); jQuery('div.form-5').hide(); jQuery('div.form-6').hide(); jQuery('div.form-7').hide(); jQuery('div.form-8').hide(); break; case '0-3': jQuery('div.form-1').hide(); jQuery('div.form-2').hide(); jQuery('div.form-4').hide(); jQuery('div.form-3').show(); jQuery('div.form-5').hide(); jQuery('div.form-6').hide(); jQuery('div.form-7').hide(); jQuery('div.form-8').hide(); break; case '0-4': jQuery('div.form-1').hide(); jQuery('div.form-2').hide(); jQuery('div.form-3').hide(); jQuery('div.form-5').hide(); jQuery('div.form-6').hide(); jQuery('div.form-4').show(); jQuery('div.form-7').hide(); jQuery('div.form-8').hide(); break; case '0-5': jQuery('div.form-1').hide(); jQuery('div.form-2').hide(); jQuery('div.form-3').hide(); jQuery('div.form-4').hide(); jQuery('div.form-6').hide(); jQuery('div.form-7').hide(); jQuery('div.form-5').show(); jQuery('div.form-8').hide(); break; case '0-6': jQuery('div.form-1').hide(); jQuery('div.form-2').hide(); jQuery('div.form-3').hide(); jQuery('div.form-4').hide(); jQuery('div.form-6').show(); jQuery('div.form-5').hide(); jQuery('div.form-7').hide(); jQuery('div.form-8').hide(); break; case '0-7': jQuery('div.form-1').hide(); jQuery('div.form-2').hide(); jQuery('div.form-3').hide(); jQuery('div.form-4').hide(); jQuery('div.form-7').show(); jQuery('div.form-5').hide(); jQuery('div.form-6').hide(); jQuery('div.form-8').hide(); break; case '0-8': default: jQuery('div.form-1').hide(); jQuery('div.form-2').hide(); jQuery('div.form-3').hide(); jQuery('div.form-4').hide(); jQuery('div.form-5').hide(); jQuery('div.form-8').show(); jQuery('div.form-6').hide(); jQuery('div.form-7').hide(); break; } return false; }); }; jQuery(document).ready( function () { init(local_conf); } ); } |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%)
|
Kod jest bardzo brzydki, amatorski. Powinien być przepisany na nowo tak naprawdę.
No ale jeśli chcesz go użyć, to jak słusznie zauważyłeś, pokazywany jest element 0-X. Czyli całą instrukcję switch możesz zamienić na:
W linii 3. użyłem selektora .menu > div - zamień to na selektor, który zadziała u Ciebie w kodzie. Zamiast wybierać wszystkie divy do schowania, odnieś się do nich np. jako "wszystkie divy będące dziećmi XXX". |
|
|
|
Orgin Skrócenie kodu .js 6.08.2013, 19:56:59
zegarek84 pytanie bo są same przypadki 0-x, a co z przypadka... 6.08.2013, 20:26:26
Orgin jestem bardzo słaby jeśli chodzi o .js, więc to co... 6.08.2013, 20:39:50
Crozin @zegarek84: Mamy linię najmniejszego oporu, nie na... 7.08.2013, 09:27:41 ![]() ![]() |
|
Aktualny czas: 8.08.2026 - 20:30 |