Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Взываю к разуму, "туплю" без гранично (https://javascript.ru/forum/misc/12138-vzyvayu-k-razumu-tuplyu-bez-granichno.html)

flyingspook 02.10.2010 20:40

[Решено]Взываю к разуму, "туплю" без гранично
 
Есть скрипт
(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>
оговорочка небольшая
нужно не просто только вызвать :nono:
а именно открыть из массива одну из Li
просто в этом же окне

monolithed 02.10.2010 21:19

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

а для проверки наличия одного элемента в другом можно воспользоваться: jQuery.contains()

flyingspook 02.10.2010 21:32

Спасибо но нет так просто,
в Li нету а - они пустые, но вызываются при нажатии на них, а надо
есть 5 Li они выводят каждое определенно свое событие, а к примеру как вывести и с помощью чего одно из событий Li
скажем
Li-1
Li-2
Li-3
Li-4
Li-5
а с помощью чего лучше вывести Li-2
не троная все Li
Li-2 надо вывести при помощи другого через a, input и тд.

monolithed 02.10.2010 22:32

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

Опишите задачу конкретней, приведите HTML код.

flyingspook 02.10.2010 22:40

есть скрипт он выше
это Табы/закладки/
на странице их 5, заключены они в Ул-Ли
при нажатии на Ли открывается определенный Табс
т.е. скрытый див сменяет существующий
стоит забача открыть один из табов не нажимая на него а другой совсем кнопкой

flyingspook 03.10.2010 00:55

Пришел мой разум возмущенный!!!
Позвал меня он за собой.
Прогнал он тупость,
И дал решение!
Все тему можно закрывать...

monolithed 03.10.2010 00:56

Ну у вас и объяснения, если речь идет о табах, то так и надо говрить.
делаются они элементарно, минут 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>

flyingspook 03.10.2010 01:00

Спасибо monolithed
в следующий раз опробую.
Вопрос лично к Вам, а на mootool, кк такоеже сделать?

monolithed 03.10.2010 01:03

Механизм остается тем же, только синтаксически чуть будет отличаться

flyingspook 03.10.2010 01:28

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


Часовой пояс GMT +3, время: 13:35.