не могу разобраться с массивом !
Хелло всем !( решил написать простенькие tabs и вот те на , ) извините за столь глупые вопросы , только новичок в этом деле...
вот вообщем трабла : не отрабатывает код !!! function tabs_forum( q,w,e,t ){ var Arrq = new Array(q,w,e,t); for(c=0;c<4;c++) { document.getElementById( Arrq[c].value ).style.display ='none'; } } function forum_tabs ( obj_for ){ switch ( obj_for ) { case 't1': if( obj_for == 't1' ) document.getElementById( obj_for ).style.display ='block'; else tabs_forum ( 't2','t3','t4','t5' ); break; case't2': if( obj_for == 't2' ) document.getElementById( obj_for ).style.display ='block'; else tabs_forum ( 't1','t3','t4','t5' ); break; case 't3': if( obj_for == 't3' ) document.getElementById( obj_for ).style.display ='block'; else tabs_forum ( 't1','t2','t4','t5' ); break; case 't4': if( obj_for == 't4' ) document.getElementById( obj_for ).style.display ='block'; else tabs_forum ( 't1','t2','t3','t5' ); break; case 't5': if( obj_for == 't5' ) document.getElementById( obj_for ).style.display ='block'; else tabs_forum ( 't1','t2','t3','t4' ); break; }все это крепиться к вот этому коду. <div align="center">Профиль форума</div> | <a href="javascript:forum_tabs('t1');">Поля профиля</a> | <a href="javascript:forum_tabs('t2');">Внешние функции</a> | <a href="javascript:forum_tabs('t3');">Управление mail</a> | <a href="javascript:forum_tabs('t4');">Статистика</a> | <a href="javascript:forum_tabs('t5');">Сообщения,темы,вложения</a> | <div align="center" id="t1">axaxa</div> <div align="center" id="t2" style="display:none;">asasas</div> <div align="center" id="t3" style="display:none;">sdsdsd</div> <div align="center" id="t4" style="display:none;">fdsfsdf</div> <div align="center" id="t5" style="display:none;">asdasdas</div> подскажите в чем дело !!! заранее благодарен !!! |
Используйте какую_нить приличную прогу для дебага, тот же файербаг, это поможет хотябы знать почему не обрабатывает:
1 ая проблема: забыта закрывающая функцию forum_tabs скобка. А вот далее уже проблем с самим кодом: 2. Зачем то впихан if else, rjгда case ('в случае') и так равно нужному значению: switch ( obj_for ) {case 't4':/**/break;} равносильно if(obj_for=='t4') {/**/} Таким образом else не может быть вызвано никогда, а потому не работает часть кода ответственная за сокрытие. 3. И да, элемент массива вызывается просто Arrq[c], никаких value, а потому даже если бы эта функция вызывалась - она бы не работала. В общем учите матчасть.) |
Спасибо ) что-то сразу не подумал ((( бывает же элементарный переключатель не сообразил как использовать ...
как хорошо что есть где спросить =)) вот и решение : function tabs_forum( q,w,e,t ){ var Arrq = new Array( q,w,e,t ); for(c=0;c<4;c++) { document.getElementById( Arrq[c] ).style.display ='none'; } } function forum_tabs ( obj_for ){ switch ( obj_for ) { case 't1': document.getElementById( obj_for ).style.display ='block'; tabs_forum ( 't2','t3','t4','t5' ); break; case't2': document.getElementById( obj_for ).style.display ='block'; tabs_forum ( 't1','t3','t4','t5' ) break; case 't3': document.getElementById( obj_for ).style.display ='block'; tabs_forum ( 't1','t2','t4','t5' ); break; case 't4': document.getElementById( obj_for ).style.display ='block'; tabs_forum ( 't1','t2','t3','t5' ); break; case 't5': document.getElementById( obj_for ).style.display ='block'; tabs_forum ( 't1','t2','t3','t4' ); break; } } Правда ещё кода многовато ) но уже есть сдвиги ,,, сильно не критикуйте +) |
Часовой пояс GMT +3, время: 03:32. |