Javascript.RU

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

Добавление класса
Скажите как при нажатии на пункт меню этому элементу присваивался класс active,а у других элементов он удалялся.Пытался сделать так не получается.
$("#menu li").removeClass("active");
$(this).addClass("active");
Ответить с цитированием
  #2 (permalink)  
Старый 25.08.2011, 16:27
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Так должно работать, покажите еще кода что бы выяснить ошибку
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #3 (permalink)  
Старый 25.08.2011, 16:38
Аспирант
Отправить личное сообщение для NeoMurderer Посмотреть профиль Найти все сообщения от NeoMurderer
 
Регистрация: 16.02.2011
Сообщений: 98

Вот сайт,кликайте на меню http://svitok.pp.ua/
Ответить с цитированием
  #4 (permalink)  
Старый 25.08.2011, 16:42
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

У меня все работает, при клике добавляется класс active, только потом страница перезагружается и класс соответственно убирается.
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #5 (permalink)  
Старый 25.08.2011, 16:43
Аспирант
Отправить личное сообщение для NeoMurderer Посмотреть профиль Найти все сообщения от NeoMurderer
 
Регистрация: 16.02.2011
Сообщений: 98

Страница не перезагружается,подгружае ся контент через Jquery
Ответить с цитированием
  #6 (permalink)  
Старый 25.08.2011, 17:15
Аватар для bret
Кандидат Javascript-наук
Отправить личное сообщение для bret Посмотреть профиль Найти все сообщения от bret
 
Регистрация: 04.10.2008
Сообщений: 128

- при отключенном js выкидывает на настройки АдСенс...
- возможно, после запроса перетирается this, пробуй предварительно сохранить её в переменной сразу после входа в обработчик
__________________
я подыскиваю мозг... твой подойдёт
Ответить с цитированием
  #7 (permalink)  
Старый 25.08.2011, 17:58
Аспирант
Отправить личное сообщение для Black_Prince Посмотреть профиль Найти все сообщения от Black_Prince
 
Регистрация: 11.07.2011
Сообщений: 64

$.ajax({
    url: 'engine/ajax.php',
    data: ({link : link,}),
    type : "POST",
    success: function (data) {  
        $("#menu li").removeClass("active");
        $(".left").html(data).css("opacity","0").animate({opacity:'1'},1500);
    },
     error: function(){ 
         alert ("No PHP script: ");
      } 
   }); 
   $(this).addClass("active");
   return false;


Господа, никто не заметил, что классы удаляются в success для ajax, а назначается класс вне ajax функций?

Дело в том что выполняется асинхронный запрос. Т.е. обработчик кода доходит до функции ajax, запускает его в отдельном потоке и идет дальше. Т.о. сначала успевает отрабатывать назначение класса, а уже после приходит ответ от сервера, и по успеху - убираются классы.

Решение поставьте обе строки
$("#menu li").removeClass("active"); и $(this).addClass("active"); друг рядом с другом. например:

var elem = $(this);
$.ajax({
    url: 'engine/ajax.php',
    data: ({link : link,}),
    type : "POST",
    success: function (data) {  
        $("#menu li").removeClass("active");
        elem.addClass("active");
        $(".left").html(data).css("opacity","0").animate({opacity:'1'},1500);
    },
     error: function(){ 
         alert ("No PHP script: ");
      } 
   }); 
   return false;


и будет вам щастя
Ответить с цитированием
  #8 (permalink)  
Старый 25.08.2011, 20:30
Аспирант
Отправить личное сообщение для NeoMurderer Посмотреть профиль Найти все сообщения от NeoMurderer
 
Регистрация: 16.02.2011
Сообщений: 98

Black_Prince,спасибо понял ошибку
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Свойства/методы класса TicTac Общие вопросы Javascript 5 03.07.2011 14:53
Добавление класса или id к ссылке. Простой вопрос: Как? Mrjoey Элементы интерфейса 1 18.05.2011 16:42
Добавление класса с бэкграундом blaga Элементы интерфейса 3 29.03.2011 09:00
Добавление класса для тега dwel87 Элементы интерфейса 9 11.03.2011 11:46
Добавление класса на елемент по id при фокусе на input Andrew_tl Events/DOM/Window 1 18.02.2010 19:09