Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Узнать активка кнопка или нет
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 19 дней
Карма: 1




Кнопка, которая открывает чат
 <div class="navbar-btn btn-group">

<
button data-toggle="dropdown" class="btn btn-sm dropdown-toggle">
<
span class="fa fa-comments fs14 va-m"></span>
<
span class="badge" id="count_online"></span>
</
button>
.................................


когда чат открыт то в класс добавляется open
<div class="navbar-btn btn-group open">
Когда закрыт то
<div class="navbar-btn btn-group">

Так вот мне нужно что бы сообщения в чат подгружались лишь когда открыт чат.
Как можно отследить узнать на jS что чат открыт?

Это сообщение отредактировал maruo - 16.04.2016 - 13:58
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 19 дней
Карма: 1




Частично проблему решил, не получается остановить таймер

 function openchat(){

var timer = setInterval(function(){

var classList = document.getElementById('chat_n1').className.split(/\s+/);

for (var i = 0; i < classList.length; i++) {

if(classList[i] === 'open') {

alert('open');

}else{

clearInterval(timer);

}
}

}
, 1000);

}

При нажатии на кнопку открыть чат, запускается функция openchat()
А вместе с ним таймер.
Так вот если убрать условие else, то алерт как положено выводит каждую секунду.
А если с условием else то 1 раз отработает и все
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 18 дней
Карма: 725

Не курю:
1 год, 2 месяца, 5 дней


получить класс кнопки и регуляркой определит наличие класса


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 19 дней
Карма: 1




Игорь_Vasinsky
Это я уже сделал, выше сообщение, не могу найти ошибку не гляните своим глазом? по моей логике должно было работать
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 18 дней
Карма: 725

Не курю:
1 год, 2 месяца, 5 дней


Цитата
А если с условием else то 1 раз отработает и все


ну тыж сам останавливаешь setInterval() то))

Цитата
clearInterval(timer);


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 19 дней
Карма: 1




Игорь_Vasinsky
Начал пошагово изучать в чем проблема,

if(classList[i] === 'open') {

alert('open');

}else{

alert('close');
}

прописал так, и на таймер 1 секунду, так получается что сначала он находит open а потм каким то образом не находит и завершает

точнее наоборот, сначала не находит стиль, а потом находит

Это сообщение отредактировал maruo - 16.04.2016 - 16:34
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 19 дней
Карма: 1




Решил задачу
 function openchat(){

function hasClass( elem , className ) {

var classList = elem.className.split(/\s+/);
for (var i = 0; i < classList.length; i++) {
if(classList[i] === className) {
return true;
}
}

return false;
}

var timer = setInterval(function() {

if( hasClass( document.getElementById('chat_n1') , 'open' ) ) {
alert('open');
} else {

clearInterval(timer);
}


}
, 1000);

}


Это сообщение отредактировал maruo - 16.04.2016 - 17:00
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
SerginhoLD  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



че?
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 703
Пользователь №: 24500
На форуме: 6 лет, 1 месяц, 10 дней
Карма: 50




просто оставлю это здесь
document.getElementById('chat_n1').classList.contains('open')


--------------------
"internet explorer всех правильней отображает страницы" ©
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса