Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.05.2014, 16:32
Интересующийся
Отправить личное сообщение для sergeo_89 Посмотреть профиль Найти все сообщения от sergeo_89
 
Регистрация: 23.05.2014
Сообщений: 21

условие на событие клика
Запутался в условии, подскажите как отследить кнопку на которую нажал пользователь и в зависимости от этого выполнить определенные действия, вот код
$(document).ready(function(){

$('#secondMenu_2, #secondMenu_3, #secondMenu_4').hide();

var flag = new Boolean(true);

$('#variant_2 a, #variant_3 a, #variant_4 a').click(function() {
 if (flag) {
   flag = false;
   func1.call(this);
 	} 
 	else {
   flag = true;
   	func2.call(this);
}
 return false;
});

function func1(){
if($('#variant_2 a').id == $(this).id){
   	$('#secondMenu_2').slideDown(1000);
   }
   else if($('#variant_3 a').id == $(this).id){
   	$('#secondMenu_3').slideDown(1000);
   }
   else if($('#variant_4 a').id == $(this).id){
   	$('#secondMenu_4').slideDown(1000);
   }
};

function func2(){
$('#secondMenu_2, #secondMenu_3, #secondMenu_4').slideUp(1000);
};

Пробовал через
if($('#variant_2 a').target == $(this).target){
   	$('#secondMenu_2').slideDown(1000);
   }
не получается, грубо говоря мне надо сделать условие: Если пользователь нажал на кнопку 1, то выполнить одно условие, если на 2 - другое и так далее, буду признателен за ваши мысли
Ответить с цитированием
  #2 (permalink)  
Старый 23.05.2014, 16:50
Аватар для arahmanov
Профессор
Отправить личное сообщение для arahmanov Посмотреть профиль Найти все сообщения от arahmanov
 
Регистрация: 26.01.2011
Сообщений: 197

Вешай на кнопку обработчик событий ,

<input name="btn_1" id='btn_1' type="button onclick='btn(1)'" />
 <input name="btn_1" id='btn_1' type="button onclick='btn(2)'" />
 <input name="btn_1" id='btn_1' type="button onclick='btn(3)'" />
 <input name="btn_1" id='btn_1' type="button onclick='btn(4)'" />


function btn(x) {
if (x==1) {твое условие};
if (x==2){твое условие};
if (x==3){твое условие};
if  (x==4){твое условие};
}
Ответить с цитированием
  #3 (permalink)  
Старый 23.05.2014, 18:06
Интересующийся
Отправить личное сообщение для sergeo_89 Посмотреть профиль Найти все сообщения от sergeo_89
 
Регистрация: 23.05.2014
Сообщений: 21

здесь фишка в том, что это элементы меню, Я делаю раскрывающее меню, используя тэги nav и sector, поэтому надо как то без инпутов обойтись(( может есть какой то метод, который определяет
if($('нажимаемая кнопка') == какому то методу конструкции $(this)) {...}
Ответить с цитированием
  #4 (permalink)  
Старый 23.05.2014, 19:14
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

<div id="variant_2">
  <a href="#">variant_2</a>
</div>
<div id="variant_3">
  <a href="#">variant_3</a>
</div>
<div id="variant_4">
  <a href="#">variant_4</a>
</div>
<script>
  window.onload = hookLinks;

  function hookLinks() {
    var links = document.querySelectorAll('div[id^=variant_] > a');
    for (var i = 0; i < links.length; i++) {
      links[i].onclick = window[links[i].parentNode.id];
    }
  }

  function variant_2() {
    alert("variant_2");
  }

  function variant_3() {
    alert("variant_3");
  }

  function variant_4() {
    alert("variant_4");
  }
</script>

внимательно посмотрите на свою задачу. Уверен есть гораздо лучший подход ее решения

Последний раз редактировалось Vlasenko Fedor, 23.05.2014 в 19:25.
Ответить с цитированием
  #5 (permalink)  
Старый 26.05.2014, 16:20
Интересующийся
Отправить личное сообщение для sergeo_89 Посмотреть профиль Найти все сообщения от sergeo_89
 
Регистрация: 23.05.2014
Сообщений: 21

Спасибо за помощь! В итоге решил задачу простеньким способом
$('#block_A li div a').click(function(){

    if($(this).next().is(':visible') == false) {
      $('#block_A ul').slideUp(300);
    }
    $(this).next().slideToggle(300); 
  });

Последний раз редактировалось sergeo_89, 27.05.2014 в 09:14.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
событие клика по button[disabled=disabled] xdypx Элементы интерфейса 1 06.09.2013 19:37
Событие клика для label с чекбоксом debugx Events/DOM/Window 2 28.10.2011 09:43
событие клика alerzo Events/DOM/Window 1 11.10.2011 08:42
Событие запускается со второго клика sympler Events/DOM/Window 13 10.08.2011 16:01
событие клика не на input-элементе czar jQuery 4 09.04.2009 04:50