Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 13.11.2015, 10:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Lecseus,
не понял ничего что вы написали, но ответ да можно - наверняка вам нужна открывашка, что-бы вы не придумали.
функция будет одна -- без всяких show2 (понять бы только вас)
Ответить с цитированием
  #12 (permalink)  
Старый 13.11.2015, 12:31
Аспирант
Отправить личное сообщение для Lecseus Посмотреть профиль Найти все сообщения от Lecseus
 
Регистрация: 13.08.2015
Сообщений: 45

ну, допустим у меня есть кнопка, которая открывает какой-то блок. и я хочу, чтобы она же этот блок закрывала (она - кнопка) по второму щелчку. это я уже реализовал. но, допустим, у меня много таких кнопок, можно ли чтобы одна единственная функция, которая закрывает конкретный блок, закрывала бы и другие блоки связанные с конкретными кнопками, в зависимости от того, с какой кнопкой я в данный момент работаю?
то есть на много кнопок повесить одну и ту же функцию.
Ответить с цитированием
  #13 (permalink)  
Старый 13.11.2015, 12:52
Профессор
Отправить личное сообщение для Mess4me Посмотреть профиль Найти все сообщения от Mess4me
 
Регистрация: 03.11.2014
Сообщений: 263

Lecseus,
это конечно очень слабенький пример я навожу
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>


<div><button data-cl="one" onclick="HideOrShow(event, this)">Press 1</button>
    <span class="one">Hello 1</span></div>
<div><button data-cl="two" onclick="HideOrShow(event, this)">Press 2</button>
    <span class="two">Hello 2</span></div>



<script>
    function HideOrShow(event, el){
        if(el.getAttribute('data-cl') == el.nextElementSibling.className){
            el.nextElementSibling.style.display = ( el.nextElementSibling.style.display == 'block'?'none':'block')
        }
    }


</script>

</body>
</html>
Ответить с цитированием
  #14 (permalink)  
Старый 13.11.2015, 13:08
Аспирант
Отправить личное сообщение для Lecseus Посмотреть профиль Найти все сообщения от Lecseus
 
Регистрация: 13.08.2015
Сообщений: 45

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
<script type="text/javascript">
function check1(otvet1){
		var show = document.getElementById("otvet1");
		 show.style.display = (show.style.display == 'none')?doit():hideT();
		function doit(){
			show.style.display = 'block',
			show.innerHTML="правильный ответ:3",
			show.style.color="green";
		}
		function hideT(){
			show.style.display='none';
		}
	}
function check2(otvet2){
		var show = document.getElementById("otvet2");
		show.style.display = (show.style.display == 'none')?doit():hideT();
		function doit(){
			show.style.display = 'block',
			show.innerHTML="правильный ответ:двацать",
			show.style.color="green";
		}
		function hideT(){
			show.style.display='none';
		}
	}
</script>
</head>
<body>

<button onClick="check1('otvet1');">Правильный ответ</button>
		<div id="otvet1"></div>
		<br>

<button onClick="check2('otvet2');">Правильный ответ</button>
		<div id="otvet2"></div>
		<br>
 
</body>
</html>

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

Последний раз редактировалось Lecseus, 13.11.2015 в 15:15.
Ответить с цитированием
  #15 (permalink)  
Старый 13.11.2015, 13:28
Профессор
Отправить личное сообщение для Mess4me Посмотреть профиль Найти все сообщения от Mess4me
 
Регистрация: 03.11.2014
Сообщений: 263

Lecseus,
вот немного подправил
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>


<button onClick="check('otvet01');">Правильный ответ</button>
<div id="otvet01">Answer 1</div>
<br>
<button onClick="check('otvet02');">Правильный ответ</button>
<div id="otvet02">Answer 2</div>
<br>



<script>
    function check(answer) {
        var target = event.target;
        var elem = document.getElementById(answer);

        if (!elem) return;
        return  elem.style.display = (  elem.style.display == 'none'?'block':'none')
    }
    

</script>

</body>
</html>
Ответить с цитированием
  #16 (permalink)  
Старый 14.11.2015, 15:22
Аспирант
Отправить личное сообщение для Lecseus Посмотреть профиль Найти все сообщения от Lecseus
 
Регистрация: 13.08.2015
Сообщений: 45

спасибо, отлично работает
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод сообщения, после нажатия на кнопку Almaz Общие вопросы Javascript 3 07.10.2014 18:57
Скрипт для рандомного показа текста после нажатия на кнопку. Светлана777 Общие вопросы Javascript 0 25.11.2012 00:08
Добавить кнопку после каждой ссылки… exec jQuery 0 21.01.2010 18:18
Сохранение результата ajax запроса после нажатия 'back' gregOlsen AJAX и COMET 5 18.11.2009 12:23
Не убирать кнопку после клика по ней. CompModdd jQuery 2 12.05.2009 02:13