Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обнаружить в списке элемент с новым id, childNodes 
:(
    Опции темы
Testernew
  Дата 26.3.2012, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 12.2.2012
Где: Луганск

Репутация: нет
Всего: нет



Есть список элементов с id ('0private') при появлении элемента с большим id установить переменную flag в значение ON,
теперь скажу что я хочу сделать.. есть чат в котором я хочу сделать звуковое оповещение по приходу личного сообщения... личные сообщения будут иметь id от 0- до ... очень важно что бы при обновлении страницы(F5) звук не начал проигрываться с самого начала переписки... пробую примерно вот так


Код HTML:
Код

<script>
var max="0private", flag="off";
  function abc() {
    var count;
      for(var i=0; i < document.getElementById('chat').childNodes.length;   i++)   {
        count=i+"private";
          if(max < count) {
            max=count;
            flag="on";
          }
       }
  }
</script>

<div id='chat'>
  <div id='1private'>123</div>
  <div id='2private'>123</div>
  <div id='3private'>123</div>
  <div>some text</div>
  <div>some text2</div>
</div>
&nbsp;
<div onClick="abc();">PRESS HERE</div>



Это сообщение отредактировал(а) Testernew - 26.3.2012, 17:49
PM   Вверх
Cheloveck
Дата 26.3.2012, 19:08 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: нет
Всего: 32



Testernew, проигрывать звук, видимо, нужно при получениее ajax сообщения определённого типа.
По F5 отсылаешь с сервера сообщение другого типа (вся личка скопом, к примеру).
Твой изврат -- идея явно плохая.


--------------------
user posted image
PM Jabber   Вверх
Testernew
Дата 26.3.2012, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 12.2.2012
Где: Луганск

Репутация: нет
Всего: нет



Цитата(Cheloveck @ 26.3.2012,  19:08)
Testernew, проигрывать звук, видимо, нужно при получениее ajax сообщения определённого типа.
По F5 отсылаешь с сервера сообщение другого типа (вся личка скопом, к примеру).
Твой изврат -- идея явно плохая.

Да, при получении Ajax сообщения определенного типа, какой выход?)

Это сообщение отредактировал(а) Testernew - 26.3.2012, 22:41
PM   Вверх
Cheloveck
Дата 26.3.2012, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: нет
Всего: 32



Я не понимаю, где проблема?
Код

$.ajax(url, {
    success: function (data) {
        switch(data.type) {
            case "private_msg":
                doDing();
                appendMesaage(data.body);
                break;
            case "private_msgs":
                for(message in data.body) {
                    appendMesaage(message);
                }
                break;
            default:
                doOtherAction();
        }
    }
));



--------------------
user posted image
PM Jabber   Вверх
Testernew
Дата 27.3.2012, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 12.2.2012
Где: Луганск

Репутация: нет
Всего: нет



Цитата(Cheloveck @ 26.3.2012,  22:51)
Я не понимаю, где проблема?
Код

$.ajax(url, {
    success: function (data) {
        switch(data.type) {
            case "private_msg":
                doDing();
                appendMesaage(data.body);
                break;
            case "private_msgs":
                for(message in data.body) {
                    appendMesaage(message);
                }
                break;
            default:
                doOtherAction();
        }
    }
));


Я не очень силен в jquery, я не пойму как в моем примере эти выражения будут определять появление новго элемента на странице... 
Код

switch(data.type) {
            case "private_msg":
             break;
           case "private_msgs":
            break;
 }


Вот как я пытаюсь изо всех сил это сделать smile

Код

<audio id='play_private'>
       <source src="../sounds/private.ogg" type="audio/ogg" />
</audio>

<div id='chat'>
  <div id='1private'>123</div>
  <div id='2private'>123</div>
  <div id='3private'>123</div>
  <div>some text</div>
  <div>some text2</div>
</div>


Код

 var max="0private", found=0;

function Update_chat() {  
  $.ajax({ 
       url:  'text.php',
       data: 'update_text=1',
       timeout: '4000',
       type:   'GET',
       success:  function(response)  { 
                   document.getElementById('chat').innerHTML=response;
                    if(flag_audio == "on")  // если выбран переключатель, то проиграть звук
                       play_sound();                    
                }
       });
}

function play_sound() {
    for(var i=0; i < document.getElementById('chat').childNodes.length; i++)   {
       count=i+"private";
         if(max < count && document.getElementById(count) != undefined) {
            max=count;
            found=1;
          }
    }    
    if(found){                      //проверка на то что бы проиграло только 1 раз
      document.getElementById('play_private').play();
                found=0;
        } 
}


Это сообщение отредактировал(а) Testernew - 27.3.2012, 14:13
PM   Вверх
Cheloveck
Дата 27.3.2012, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1578
Регистрация: 26.7.2008
Где: Тула

Репутация: нет
Всего: 32



Тебе не нужно следить за новыми элементами. Проигрывай звук сразу после его вставки.


--------------------
user posted image
PM Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0494 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.