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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Эффект угасающего желтого, Нужен эффект угасающего желтого 
:(
    Опции темы
dizelbox
Дата 7.10.2009, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



В общем дело такое:
для сайта хочу создать такой эффект, который в народе называют угасающий желтый. То есть к примеру часть страницы постоянно обновляется через некоторое время, и если появилось что-то новое, то это AJAX-ом подгружается и выводится с постепенно изменяющимся фоном (к примеру переход от желтого к белому), чтобы как то выделить новый материал.
Так к примеру сделано vkontakte.ru на странице новостей.
Код

<body onload="timer();">

<script language="JavaScript">
//это упрощенная функция изменения фона какого то элемента
function fnew(field,n)
{ 
if (n==2) {
var g='#F6F1D2';
document.getElementById('zd'+field).style.backgroundColor = g;
}
else {
var g='#dddddd';
document.getElementById('zd'+field).style.backgroundColor = g;
}
}

var n=2;
function timer() {

if (n==2) { fnew(45,1); n=1; } else  { fnew(45,2); n=2; } 

setTimeout( "timer()", 1000 );
}
</script>

При загрузке страницы включается функция таймер. Проблема состоит в том, что я не могу заставить работать фунцию fnew для вновь подгружаемых данных. То есть, если для уже сформированной страницы все работает, то для динамической, к примеру добавилась новость какая-то, у меня не получается применить эту функцию. Помогите решить проблемы.
А может у кого-то есть уже готовое решение.
PM MAIL   Вверх
EmilRegis
Дата 8.10.2009, 06:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



вопервых вынесите document.getElementById('zd'+field).style.backgroundColor = g; за if..
Во вторых в вашем примере угасание не плавное, а мгновенная смена цвета)

а разве так не получится для ajax'а?
Код

req.onreadystatechange = function proc_req() {    
    var ready = req.readyState;
    if (ready == 4) {
        res_data = ""+req.responseText;   
        timer();
    }
}

PM MAIL   Вверх
dizelbox
Дата 8.10.2009, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Либо я что-то не так понял, либо вы меня не так поняли.
Проблема, повторюсь, заключается в том, что таймер должен обнаружить вновь подгруженный div с каким то id, и заставить его мигать.
То есть к примеру подзагрузился участок кода <div id="zd46">текст</div>, которого до этого в загруженной станице не было. Таймер должен проверить, имеется ли данный идентификатор, и если имеется, то подсветить его.
А функция 
Код

req.onreadystatechange = function proc_req() {    
    var ready = req.readyState;
    if (ready == 4) {
        res_data = ""+req.responseText;   
        timer();
    }
}

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


 




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


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

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