Бормотухи.НЕТ

Вернуться   Бормотухи.НЕТ > Web-мастеру > vBulletin 4.x > Инструкции и модификации для vBulletin 4.x
Расширенный поиск

Инструкции и модификации для vBulletin 4.x Различные инструкции и моды для vBulletin 4.x

Ответ
 
Опции темы Поиск в этой теме
Старый 21.10.2013, 18:48 Вверх   #1
Грамотный форумчанин
 
Аватар для iKing
iKing вне форума
Доп. информация
По умолчанию Ajax notification of a new personal message

Ajax notification of a new personal message
Тестировалось: на vBulletin 4.2.0

Источник

Уведомление о приходе личных сообщений на ajax. Плавающий мигающий значок в правом верхнем углу


Настройки в админ панели


Установка:

Закачать файлы из папки upload в корень форума и файл newpm.gif в папку
images вашего стиля

Импортировать продукт в нужной кодировке product-ajaxnewpm_cp1251.xml или product-ajaxnewpm_utf8.xml

Редактировать шаблоны:

footer

В низ вставить:


Код:
<script>
    sessionurl = '';
    checkNewPM()
</script>

<vb:if condition="$bbuserinfo[pmunread]"> 
<div id="ajaxnewpmdiv" style="position:absolute; display:none; width:80px; height:80px; background:transparent; margin-top:0px; margin-left:-110px;
 border:none;">
 <a href="http://botzack.ru/private.php"><img src="images/newpm.gif" alt="У Вас новое личное сообщение" border="0"/></a>
</div>

<script type="text/javascript"><!--
var target_x = -60;
var target_y = 12;

var has_inner = typeof(window.innerWidth) == 'number';
var has_element = document.documentElement && document.documentElement.clientWidth;

var fm_id='ajaxnewpmdiv';
var floating_menu =
    document.getElementById
    ? document.getElementById(fm_id)
    : document.all
      ? document.all[fm_id]
      : document.layers[fm_id];

var fm_shift_x, fm_shift_y, fm_next_x, fm_next_y;

function move_menu()
{
    if (document.layers)
    {
        floating_menu.left = fm_next_x;
        floating_menu.top = fm_next_y;
    }
    else
    {
        floating_menu.style.left = fm_next_x + 'px';
        floating_menu.style.top = fm_next_y + 'px';
    }
}

function compute_shifts()
{
    fm_shift_x = has_inner
        ? pageXOffset
        : has_element
          ? document.documentElement.scrollLeft
          : document.body.scrollLeft;
    if (target_x < 0)
        fm_shift_x += has_inner
            ? window.innerWidth
            : has_element
              ? document.documentElement.clientWidth
              : document.body.clientWidth;

    fm_shift_y = has_inner
        ? pageYOffset
        : has_element
          ? document.documentElement.scrollTop
          : document.body.scrollTop;
    if (target_y < 0)
        fm_shift_y += has_inner
            ? window.innerHeight
            : has_element
              ? document.documentElement.clientHeight
              : document.body.clientHeight;
}

function float_menu()
{
    var step_x, step_y;

    compute_shifts();

    step_x = (fm_shift_x + target_x - fm_next_x) ;
    if (Math.abs(step_x) < .5)
        step_x = fm_shift_x + target_x - fm_next_x;

    step_y = (fm_shift_y + target_y - fm_next_y) ;
    if (Math.abs(step_y) < .5)
        step_y = fm_shift_y + target_y - fm_next_y;

    if (Math.abs(step_x) > 0 ||
        Math.abs(step_y) > 0)
    {
        fm_next_x += step_x;
        fm_next_y += step_y;
        move_menu();
    }

    setTimeout('float_menu()', 20);
};

compute_shifts();
if (document.layers)
{
    // Netscape 4 cannot perform init move
    // when the page loads.
    fm_next_x = 0;
    fm_next_y = 0;
}
else
{
    fm_next_x = fm_shift_x + target_x;
    fm_next_y = fm_shift_y + target_y;
    move_menu();
}
float_menu();
//--></script>

</vb:if>
headerinclude
Код:
<script type="text/javascript" src="clientscript/vbulletin_ajax_checknewpm.js"></script>
Ajax notification of a new personal message.rar (12.1 Кб)

Последний раз редактировалось Serberg; 22.10.2013 в 16:40..
  Ответить с цитированием
Cказали cпасибо:
Старый 21.10.2013, 18:48 Вверх   #2
Грамотный форумчанин
 
Аватар для iKing
iKing вне форума
Доп. информация
По умолчанию

Источник
  Ответить с цитированием
Старый 21.10.2013, 19:33 Вверх   #3
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
По умолчанию

Скрины было бы не плохо положить на фото хостинг, так как на том форуме тянуть без регистрации их нельзя.
  Ответить с цитированием
Старый 22.10.2013, 14:25 Вверх   #4
Грамотный форумчанин
 
Аватар для iKing
iKing вне форума
Доп. информация
По умолчанию



  Ответить с цитированием
Cказали cпасибо:
Старый 23.10.2013, 20:53 Вверх   #5
Уважаемая личность
 
Аватар для grisha2217
grisha2217 вне форума
Доп. информация
По умолчанию

Я себе забабахал похожую вещь только без аякса
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:48. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
 

Время генерации страницы 0.06940 секунды с 13 запросами