Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.08.2014, 19:11
Интересующийся
Отправить личное сообщение для lnsider Посмотреть профиль Найти все сообщения от lnsider
 
Регистрация: 24.07.2014
Сообщений: 14

Что если 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,
выполнится функция с таким названием.

Прошу помощи, надеюсь все нормально объяснил
Ответить с цитированием
  #2 (permalink)  
Старый 12.08.2014, 19:28
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

window[thechosenone]()
Ответить с цитированием
  #3 (permalink)  
Старый 01.09.2014, 12:41
Интересующийся
Отправить личное сообщение для lnsider Посмотреть профиль Найти все сообщения от lnsider
 
Регистрация: 24.07.2014
Сообщений: 14

а можно чуть чуть больше информации... я просто еще новичек
Ответить с цитированием
  #4 (permalink)  
Старый 01.09.2014, 13:01
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

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>
Ответить с цитированием
  #5 (permalink)  
Старый 01.09.2014, 13:45
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,583

skrudjmakdak, угу.
Кстати если уж имеем дело с глобалом то не имеет смысла плодить сущности - можно просто сразу передавать ссылку на функцию:
onclick="clk(one)"
function clk (fn) {
    fn();
}
__________________
29375, 35
Ответить с цитированием
  #6 (permalink)  
Старый 01.09.2014, 14:50
Интересующийся
Отправить личное сообщение для lnsider Посмотреть профиль Найти все сообщения от lnsider
 
Регистрация: 24.07.2014
Сообщений: 14

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

P.S. а может я не понял как точно прикрутить хД
Ответить с цитированием
  #7 (permalink)  
Старый 01.09.2014, 14:52
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

Сообщение от lnsider Посмотреть сообщение
P.S. а может я не понял как точно прикрутить хД
может.. поэтому не мешало бы кинуть ваш код, мы бы глянули
Ответить с цитированием
  #8 (permalink)  
Старый 01.09.2014, 15:05
Интересующийся
Отправить личное сообщение для lnsider Посмотреть профиль Найти все сообщения от lnsider
 
Регистрация: 24.07.2014
Сообщений: 14

http://pastebin.com/yFHujgVd
Ответить с цитированием
  #9 (permalink)  
Старый 01.09.2014, 15:10
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

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

ладно, к делу. для чего вы делайте это???:
(function statistics(){
....
})();
Ответить с цитированием
  #10 (permalink)  
Старый 01.09.2014, 16:30
Интересующийся
Отправить личное сообщение для lnsider Посмотреть профиль Найти все сообщения от lnsider
 
Регистрация: 24.07.2014
Сообщений: 14

я уже решил спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
$('my').load(); Как сделать, чтобы это заработало mycoding Общие вопросы Javascript 25 02.10.2016 23:43
Использование классов в JavaScript devote Ваши сайты и скрипты 70 01.02.2013 17:17
Кроссбраузерная обертка AttachEvent Dim@ Ваши сайты и скрипты 13 21.08.2012 21:21
О фрилансе (Личный опыт) free Оффтопик 105 18.08.2011 17:02
Javascript quiz · Perfection kills Octane Оффтопик 49 16.02.2010 12:46