Показать сообщение отдельно
  #1 (permalink)  
Старый 31.08.2012, 18:16
Новичок на форуме
Отправить личное сообщение для GBelka Посмотреть профиль Найти все сообщения от GBelka
 
Регистрация: 31.08.2012
Сообщений: 3

Убрать наследование return false от родительского элемента
Существуют некие выезжающие табы-вкладки. По клику на язычок (div состоит из img языка и того div, в котором всё лежит) вкладки происходит нечто такое:
$opener1.click(function() {
	$($Link2).animate({"left": "970px"}, "slow").removeClass('expanded');
	$($Link3).animate({"top": "591px"}, "slow").removeClass('expanded'); 
	$($Link4).animate({"left": "-970px"}, "slow").removeClass('expanded'); 
  if($Link1.css('top')==0) {
  //alert('0 point');
  } else {
  $Link1.animate({"top": "0px"}, "slow").addClass('expanded');
  }
      return false;
  });

Если щелкнуть не по языку, то все закрывается:
$(document).not($Link1).click (function() {
    closeAll = setTimeout(function() {
      $Link1.animate({top: '-591'}, "slow");
    }, 1000);
  }).mouseenter(function() {
    clearTimeout(closeAll);
  });

Для того, чтобы при клике внутри самой вкладки, вкладка никудашеньки не девалась, было дописано следующее:
$Link1.click(function() {
		return false;
	});

ТЕПЕРЬ, если кликнуть, к примеру, на какую-нибудь ссылочку, к примеру, внутри этой вкладки, но не произойдёт ничего, что законно, ибо return false ссылка наследует со своего родительского элемента, или вообще ничего не наследует, но поскольку блокированный родитель круче, то ссылка и не думает работать. А надо бы...А это сделать, подскажите, пожалуйста!
P.S. Если кто-то подскажет, как ещё это элегантнее написать, не на каждую отдельную вкладку одну и ту же функцию (этот код повторяется 4 разу на все 4 вкладки), а на все сразу, то скажу двойное спасибо.
Ответить с цитированием