Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.07.2013, 07:39
Интересующийся
Отправить личное сообщение для Blackmore1991 Посмотреть профиль Найти все сообщения от Blackmore1991
 
Регистрация: 13.03.2013
Сообщений: 18

Нужно вывести элементы в другом блоке.
У нас есть меню ul.menu. И при клике на пункт , у него добавляется класс .active. Меню 35, 36 ,37 ,38,39 .


Нужно чтобы при клике на 36 , в другом блоке появлялся этот элемент и соседнии
<li><a>35</a></li>
<li><a>36</a></li>
<li><a>37</a></li>

При клике на 35 только 35 и 36.

Подскажите как сделать.

А как добавить еще и класс элементу.В скрипт рони??
$('.result').html(element.prev().andSelf().addClas s("new").next().andSelf().clone())
Если мы так сделаем у нас получается первым двум li назначится класс new. А как сделать чтобы класс добавлялся только к клону нажатого элемента . andSelf()

Последний раз редактировалось Blackmore1991, 02.07.2013 в 16:10.
Ответить с цитированием
  #2 (permalink)  
Старый 01.07.2013, 11:16
Новичок на форуме
Отправить личное сообщение для hedint Посмотреть профиль Найти все сообщения от hedint
 
Регистрация: 05.11.2012
Сообщений: 2

http://jsfiddle.net/hedint/asH9p/2/
Вы имеете ввиду такое поведение?
Ответить с цитированием
  #3 (permalink)  
Старый 01.07.2013, 14:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Вариант...
<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>demo</title>

  <script type='text/javascript' src='http://code.jquery.com/jquery-1.8.3.js'></script>
  <style type='text/css'>
    .menu li,.result li
{
    cursor:pointer;
}
li.active
{
    color:#FF3300;
}
  </style>
<script type='text/javascript'>
$(window).load(function(){
 var L =  $('.menu li');
function menu_click()
{
    var element = $(this);
    L.removeClass('active');
    $('.result').html(element.prev().andSelf().next().andSelf().clone())
    element.addClass('active');
}
L.on('click',menu_click);
    $(".result").on('click', 'li',function () {
      $(this).toggleClass("active");
    });
});
</script>
</head>
<body>
  <div>
    <ul class='menu'>
        <li> 1 </li>
        <li> 2 </li>
        <li> 3 </li>
        <li> 4 </li>
        <li> 5 </li>
    </ul>
</div>
<div>Результат:
</div>
<div class='result'>
    Не один элемент не выбран
</div>

</body>


</html>

Последний раз редактировалось рони, 02.07.2013 в 13:34.
Ответить с цитированием
  #4 (permalink)  
Старый 02.07.2013, 11:09
Интересующийся
Отправить личное сообщение для Blackmore1991 Посмотреть профиль Найти все сообщения от Blackmore1991
 
Регистрация: 13.03.2013
Сообщений: 18

Спасибо!!!
Ответить с цитированием
  #5 (permalink)  
Старый 02.07.2013, 13:09
Интересующийся
Отправить личное сообщение для Blackmore1991 Посмотреть профиль Найти все сообщения от Blackmore1991
 
Регистрация: 13.03.2013
Сообщений: 18

Не могу разобраться , а если по вашим примерам , сделать чтобы в созданном меню тоже можно было выбрать класс. Почему то два скрипта конфликтуют.
т.е по отдельности каждый скрипт работает , а если вместе , то нет .

$(document).ready(function(){

    $(".resalt").click(function () {
      $(this).toggleClass("active");
    });
	
  });

Последний раз редактировалось Blackmore1991, 02.07.2013 в 13:33.
Ответить с цитированием
  #6 (permalink)  
Старый 02.07.2013, 13:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от Blackmore1991
$("resalt")
вы селектор правильно обьявили?
up смотрите код в 3 посте строки 29-31

Последний раз редактировалось рони, 02.07.2013 в 13:33.
Ответить с цитированием
  #7 (permalink)  
Старый 02.07.2013, 13:33
Интересующийся
Отправить личное сообщение для Blackmore1991 Посмотреть профиль Найти все сообщения от Blackmore1991
 
Регистрация: 13.03.2013
Сообщений: 18

Да! Как только не пробывал. Использовал ваш скрипт, первый вариант не подошел т.к у меня несколько блоков.
Ответить с цитированием
  #8 (permalink)  
Старый 02.07.2013, 14:10
Интересующийся
Отправить личное сообщение для Blackmore1991 Посмотреть профиль Найти все сообщения от Blackmore1991
 
Регистрация: 13.03.2013
Сообщений: 18

Получилось добрый человек
Ответить с цитированием
  #9 (permalink)  
Старый 02.07.2013, 14:10
Интересующийся
Отправить личное сообщение для Blackmore1991 Посмотреть профиль Найти все сообщения от Blackmore1991
 
Регистрация: 13.03.2013
Сообщений: 18

Ответить с цитированием
  #10 (permalink)  
Старый 02.07.2013, 16:09
Интересующийся
Отправить личное сообщение для Blackmore1991 Посмотреть профиль Найти все сообщения от Blackmore1991
 
Регистрация: 13.03.2013
Сообщений: 18

А как добавить еще и класс элементу.
$('.result').html(element.prev().andSelf().addClas s("new").next().andSelf().clone())
Если мы так сделаем у нас получается первым двум li назначится класс new. А как сделать чтобы класс добавлялся только к клону нажатого элемента. andSelf()
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно при вводе в текстовое поле тут же отобразить данный в другом месте klubnichkaaa AJAX и COMET 3 20.10.2011 20:46
Нужно определить состояние overflow в блоке faunder Общие вопросы Javascript 8 04.02.2010 15:59