Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Что если function (https://javascript.ru/forum/misc/49423-chto-esli-function.html)

lnsider 12.08.2014 19:11

Что если function
 
Всем привет, не знал как назвать тему, так что назвал так.

У меня написана JS функция

function showonlyone(thechosenone) {
            $('.newboxes').each(function (index) {
                if ($(this).attr("id") == thechosenone) {
                    $(this).show();
                }
                else {
                    $(this).hide();
                }
            });
        }


она скрывает и открывает данные блоки

<li><a href="javascript:showonlyone('maincontrol');">Control</a></li>
        <li><a href="javascript:showonlyone('statistics');">Statistics</a></li>
        <li><a href="javascript:showonlyone('template');">Template</a></li>
        <li><a href="javascript:showonlyone('audio');">Audio</a></li>
        <li><a href="javascript:showonlyone('edid');">EDID</a></li>
        <li><a href="javascript:showonlyone('system');">System</a></li>
        <li><a href="javascript:showonlyone('matterhorn');">Matterhorn</a></li>


также присутвуют и другие JS скрипты.
Моя проблема заключается в том, что я не знаю как подключить к выше показоной функцию if проверку.
Проверка заключается в том, что при нажатии допустим на maincontrol,
выполнится функция с таким названием.

Прошу помощи, надеюсь все нормально объяснил

Octane 12.08.2014 19:28

window[thechosenone]()

lnsider 01.09.2014 12:41

а можно чуть чуть больше информации... я просто еще новичек

skrudjmakdak 01.09.2014 13:01

lnsider, то что вам подсказывает Octane, то оно будет работать если функция является глобальной

<html>
	<body>
	<div onclick="clk('one')">1</div>
	<div onclick="clk('two')">2</div>
	<div onclick="clk('three')">3</div>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
		<script type="text/javascript">
function one () {
	console.log('one')
}

function two () {
	console.log('two')
}
		
function three () {
	console.log('three')
}

function clk (fn) {
window[fn]();
}
		</script>
	</body>
</html>

Aetae 01.09.2014 13:45

skrudjmakdak, угу.
Кстати если уж имеем дело с глобалом то не имеет смысла плодить сущности - можно просто сразу передавать ссылку на функцию:
onclick="clk(one)"
function clk (fn) {
    fn();
}

lnsider 01.09.2014 14:50

сделал как вы написали, но все скрипты всеравно выполняются при загрузке страницы.
Мне надо чтобы отдельная функция/скрипт грузился при переходе на блок...

P.S. а может я не понял как точно прикрутить хД

skrudjmakdak 01.09.2014 14:52

Цитата:

Сообщение от lnsider (Сообщение 328421)
P.S. а может я не понял как точно прикрутить хД

может.. поэтому не мешало бы кинуть ваш код, мы бы глянули

lnsider 01.09.2014 15:05

http://pastebin.com/yFHujgVd

skrudjmakdak 01.09.2014 15:10

а нельзя было это как то сконпоновать? просто на будущее, мало кто захочет копаться в вашем коде где мильен строк.

ладно, к делу. для чего вы делайте это???:
(function statistics(){
....
})();

lnsider 01.09.2014 16:30

я уже решил спасибо


Часовой пояс GMT +3, время: 08:34.