Javascript.RU

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

[Решено]Взываю к разуму, "туплю" без гранично
Есть скрипт
(function($) {
$(document).ready(function() {
  $('ul.tabs').each(function() {
    $(this).find('li').each(function(i) {
      $(this).click(function() {

        var p = $(this).parents('div.section');
        p.find('div.tabsbox').hide();
        p.find('div.tabsbox:eq('+i+')').fadeIn(100);

      });
    });
  });


вызывает он функции из Ul>Li своего рода из массива в нем 5 Li
мозг разнес напрочь как еще сделать чтоб вызов на странице был не только с Li, но и скажем <a href="#"></a>
оговорочка небольшая
нужно не просто только вызвать
а именно открыть из массива одну из Li
просто в этом же окне

Последний раз редактировалось flyingspook, 03.10.2010 в 00:56. Причина: [Решено]
Ответить с цитированием
  #2 (permalink)  
Старый 02.10.2010, 21:19
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

к примеру, можно так обратиться
$(this).find('li:has(a)');

а для проверки наличия одного элемента в другом можно воспользоваться: jQuery.contains()
Ответить с цитированием
  #3 (permalink)  
Старый 02.10.2010, 21:32
Интересующийся
Отправить личное сообщение для flyingspook Посмотреть профиль Найти все сообщения от flyingspook
 
Регистрация: 02.10.2010
Сообщений: 12

Спасибо но нет так просто,
в Li нету а - они пустые, но вызываются при нажатии на них, а надо
есть 5 Li они выводят каждое определенно свое событие, а к примеру как вывести и с помощью чего одно из событий Li
скажем
Li-1
Li-2
Li-3
Li-4
Li-5
а с помощью чего лучше вывести Li-2
не троная все Li
Li-2 надо вывести при помощи другого через a, input и тд.
Ответить с цитированием
  #4 (permalink)  
Старый 02.10.2010, 22:32
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Несколько раз прочитал, что вы написали, но так и не понял, что вам нужно.
Что значит вызываются 'LI'.? 'LI' - это дочерний элемент 'UL', и друг без друга не имеет смысла их включать в код страницы, а вызываться по определению не они могут (это же не события и пр.).

Опишите задачу конкретней, приведите HTML код.
Ответить с цитированием
  #5 (permalink)  
Старый 02.10.2010, 22:40
Интересующийся
Отправить личное сообщение для flyingspook Посмотреть профиль Найти все сообщения от flyingspook
 
Регистрация: 02.10.2010
Сообщений: 12

есть скрипт он выше
это Табы/закладки/
на странице их 5, заключены они в Ул-Ли
при нажатии на Ли открывается определенный Табс
т.е. скрытый див сменяет существующий
стоит забача открыть один из табов не нажимая на него а другой совсем кнопкой
Ответить с цитированием
  #6 (permalink)  
Старый 03.10.2010, 00:55
Интересующийся
Отправить личное сообщение для flyingspook Посмотреть профиль Найти все сообщения от flyingspook
 
Регистрация: 02.10.2010
Сообщений: 12

Пришел мой разум возмущенный!!!
Позвал меня он за собой.
Прогнал он тупость,
И дал решение!
Все тему можно закрывать...
Ответить с цитированием
  #7 (permalink)  
Старый 03.10.2010, 00:56
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Ну у вас и объяснения, если речь идет о табах, то так и надо говрить.
делаются они элементарно, минут 5-6 не больше.

<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<style type="text/css">
#tabs {margin: 0px auto;overflow: hidden;width: 204px;}
#tabs div {border-left: 1px solid #DDD;overflow: hidden;width: 205px;height: 22px;}
div a {display: block;float: left;width: 48px;border: 1px solid #DDD;border-left: none;text-align: center;text-decoration: none;}
div a:hover {background: #FBFBFB;}
ul {display: block;margin: 0px;padding: 0px;width: auto;height: auto;}
li {border: 1px solid #DDD;border-top: none;display: none;float: left;list-style-type: none;width: 195px;height: 50px;}
.display, .first {background: #EBFAFE;display: block;}
</style>

<script type="text/javascript">
$(function(){
	$('div a').each(function(i){
		$(this).click(function(){
			$(this).toggleClass('display').siblings().removeClass('display first');
			$('ul').each(function(){
				$(this).find('li:eq('+i+')').toggleClass('display').siblings().removeClass('display first');
			});
		});
	});
});
</script>
<div id="tabs">
	<div>
		<a class="first" href="#">1</a><a href="#">2</a><a href="#">3</a><a href="#">4</a>
	</div>
	<ul>
		<li class="first">#text_tab_1</li><li>#text_tab_2</li><li>#text_tab_3</li><li>#text_tab_4</li>
	</ul>
</div>

Последний раз редактировалось monolithed, 03.10.2010 в 01:06.
Ответить с цитированием
  #8 (permalink)  
Старый 03.10.2010, 01:00
Интересующийся
Отправить личное сообщение для flyingspook Посмотреть профиль Найти все сообщения от flyingspook
 
Регистрация: 02.10.2010
Сообщений: 12

Спасибо monolithed
в следующий раз опробую.
Вопрос лично к Вам, а на mootool, кк такоеже сделать?
Ответить с цитированием
  #9 (permalink)  
Старый 03.10.2010, 01:03
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Механизм остается тем же, только синтаксически чуть будет отличаться
Ответить с цитированием
  #10 (permalink)  
Старый 03.10.2010, 01:28
Интересующийся
Отправить личное сообщение для flyingspook Посмотреть профиль Найти все сообщения от flyingspook
 
Регистрация: 02.10.2010
Сообщений: 12

в чем отличие
просто на mootool потихоньку перехожу
вот и интересуюсь
Ответить с цитированием
Ответ



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

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