Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.07.2011, 14:23
Аватар для doniv
Аспирант
Отправить личное сообщение для doniv Посмотреть профиль Найти все сообщения от doniv
 
Регистрация: 02.03.2010
Сообщений: 73

Выбрать все кроме...
У меня есть такое древо:

<li>1</li>
<li>2</li>
<li>3</li>


Мне нужно, чтобы при клике на любом из li элементов скрывались все, кроме того, по которому был сделан клик. Какие есть варианты для реализации?

Заранее спасибо за ваши советы.
Ответить с цитированием
  #2 (permalink)  
Старый 04.07.2011, 14:39
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

$('li').click(function() {
   $('li').hide();
   $(this).show();
});
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #3 (permalink)  
Старый 04.07.2011, 14:46
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Изучить html, css и javascript.

<style>
.hide_childs * {
 visibility: hidden;
}
.show {
 visibility: visible;
};
</style>

<script>
function hide(obj) {
document.getElementById("ul").className+= " hide_childs";
obj.className+= " show";
};
</script>

<ul id="ul">
<li onclick="hide(this)">A</li>
<li onclick="hide(this)">B</li>
<li onclick="hide(this)">C</li>
<li onclick="hide(this)">D</li>
</ul>
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #4 (permalink)  
Старый 04.07.2011, 14:57
Аватар для doniv
Аспирант
Отправить личное сообщение для doniv Посмотреть профиль Найти все сообщения от doniv
 
Регистрация: 02.03.2010
Сообщений: 73

Сообщение от walik Посмотреть сообщение
$('li').click(function() {
   $('li').hide();
   $(this).show();
});
Я приблизительно так и делаю, но проблема в том, что код срабатывает только один раз. Вот полная простыня в черновике:

$(".currency__item-link-active").click(function(){
             $(".currency__item").show(); //разворачиваем элементы
        });

        $(".currency__item-link").not(".currency__item-link-active").click(function(){

             var from       = 'USD';
             var to         = $(this).attr("title");
             var params = "amount=" + amount + "&from=" + from + "&to=" + to;

             var act = $(this).parent();

             $(".currency__item").removeClass("currency__item-active");
             $(this).parent().addClass("currency__item-active");
             $(".currency__item-link").removeClass("currency__item-link-active");
             $(this).addClass("currency__item-link-active");

             $(".currency__item").hide();

             $(act).show();

             $.ajax({
               type: "POST",
               url: "convert.php",
               data: params,
               beforeSend: function(){

               },
               success: function(convert){
                    $(".price__value").html(convert);
               }
             });
        });



<ul class="currency">
    <li class="currency__item currency__item-active"><a class="currency__item-link currency__item-link-active" title="USD" href="#dollar">$</a></li>
    <li class="currency__item"><a class="currency__item-link" title="EUR" href="#euro">€</a></li>
</ul>


Первый раз все срабатывает как надо, а второй раз уже не хочет обратно показывать все li элементы.

Последний раз редактировалось doniv, 04.07.2011 в 15:00.
Ответить с цитированием
  #5 (permalink)  
Старый 04.07.2011, 15:18
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Вместо click используй live
замени:
$('...').click(//...

на
$('...').live('click', //...
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #6 (permalink)  
Старый 04.07.2011, 15:58
Аватар для doniv
Аспирант
Отправить личное сообщение для doniv Посмотреть профиль Найти все сообщения от doniv
 
Регистрация: 02.03.2010
Сообщений: 73

Сообщение от walik Посмотреть сообщение
Вместо click используй live
замени:
$('...').click(//...

на
$('...').live('click', //...
Так тоже работать не хочет.
Может это как-то со ссылкой связано? Я не могу понять в чем там вообще может быть проблема.

P.S. Пардон, плохо потестил. С лайвом все работает, просто из-за классов не все кнопки работали.

Последний раз редактировалось doniv, 04.07.2011 в 16:14.
Ответить с цитированием
  #7 (permalink)  
Старый 04.07.2011, 18:28
Аватар для doniv
Аспирант
Отправить личное сообщение для doniv Посмотреть профиль Найти все сообщения от doniv
 
Регистрация: 02.03.2010
Сообщений: 73

Сообщение от walik Посмотреть сообщение
$('li').click(function() {
   $('li').hide();
   $(this).show();
});
Вопрос по хайд и шоу.
Как поставить условие, например:

Если хайд, то вот так, а если шоу, то так.
Ответить с цитированием
  #8 (permalink)  
Старый 04.07.2011, 19:26
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Что значит "Вот так", "то так" ? Подробнее.
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #9 (permalink)  
Старый 04.07.2011, 21:26
Аватар для doniv
Аспирант
Отправить личное сообщение для doniv Посмотреть профиль Найти все сообщения от doniv
 
Регистрация: 02.03.2010
Сообщений: 73

Сообщение от walik Посмотреть сообщение
Что значит "Вот так", "то так" ? Подробнее.
Например:

Если div#1 = hide, то действие №1.
Ответить с цитированием
  #10 (permalink)  
Старый 05.07.2011, 11:52
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

if (!$('div#1').is(':visible'))
   //Действие №1


Это что ли ?
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
<pre> и contentEditable все сыты кроме IE ntro123 Internet Explorer 1 02.06.2011 17:15
Название ячейки таблицы Questioner Общие вопросы Javascript 6 16.02.2011 09:58
Выбрать все, кроме одного div'а. Как? Юрий Шу jQuery 9 27.05.2010 17:37
Выбрать все элементы кроме $(this) shustrikk jQuery 2 13.03.2010 14:17
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37