Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skrócenie kodu .js, wątek pomocy w skracaniu istniejącego kodu
Orgin
post
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);
}
);
}
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zegarek84
post
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


pytanie bo są same przypadki 0-x, a co z przypadkami x-x, czyli np. 1-0, 2-3...

na to co widać to "normalnie"
po prostu zapisz sobie te elementy do tablicy (plus jeszcze mając referencję do tych elementów nie będziesz musiał ich od nowa wyszukiwać) i po najmniejszej linii oporu ukryj wszystkie w pierwszej kolejności a pokaż ten który masz pokazać z tej tablicy, ale mówiąc po najmniejszej linii oporu miałem na myśli byś łatwiej miał zrozumieć... skoro już wszystkie elementy są ukryte a tylko jeden jest widoczny, to możesz po inicjalizacji gdzie wsjo ukryłeś przechowujesz referencję do widocznego, potem ukrywasz ten widoczny a pokazujesz ten nowy element...

ps. dodaj tag "JavaScript" - pewnie mi rozbije ten wyraz ;p

Ten post edytował zegarek84 6.08.2013, 20:27:14
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 16:33