Страница 1 из 3

[3.1][3.2] Раскачай колокол уведомлений - swingingnotify!

Добавлено: 13.02.2018 19:17
Beer
На автосайте драйв при получении уведомлений колокольчик дрыгается 1 раз - оч понравилось. У нас же он станет красным и будет плавно покачиваться 1 раз в 5 сек. (что гораздо круче), при получении уведомлений (личка или еще чего). Секрет Полишинеля исключительно на css.
Таблиц в БД не создается, SEO и индексация не меняется, нагрузку на сервер не проверял. Тестировалось на FF и Vivaldi, на IE и Netscape Navigator не проверял т.к. нету их.
Первый блин во вложении. Тапки пофиг - я в танке.

Re: [3.1][3.2] Раскачай колокол уведомлений - swingingnotify!

Добавлено: 13.02.2018 19:46
1smerch1
Beer, это расширение?

Re: [3.1][3.2] Раскачай колокол уведомлений - swingingnotify!

Добавлено: 13.02.2018 19:52
Gubkin
нет скриншота, главный косяк :shock:
ладно, сделаю
2018-02-13_215049.jpg
появляется только после обновления страницы, а не как на drive2
видимо без jQuery никак ?

Отправлено спустя 1 минуту 35 секунд:
1smerch1 писал(а): 13.02.2018 19:46 это расширение?
:lol:

Re: [3.1][3.2] Раскачай колокол уведомлений - swingingnotify!

Добавлено: 13.02.2018 20:30
Beer
1smerch1, это прибамбас скорее, нежели расширение. Хотя ставится как расширение.

Наши уведомления <strong class="badge">1</strong> появляются после обновления страницы, если мне память не изменяет.
Зашел на форум - а у тебя колокол плавно раскачивается привлекая внимание :o - думаю, что в сложившейся минималистичной обстановке этого вполне.

Re: [3.1][3.2] Раскачай колокол уведомлений - swingingnotify!

Добавлено: 13.02.2018 20:33
1smerch1
Beer, ясненько. Но, смотрится прикольно...

Re: [3.1][3.2] Раскачай колокол уведомлений - swingingnotify!

Добавлено: 28.02.2018 23:09
Beer
Gubkin, допер я как остановить колокол без перезагрузки страницы:
1. Открыть ajax.js и найти:

Код: Выделить всё

$('#notification_list_button > strong').addClass('hidden');
2. Добавить после:

Код: Выделить всё

		//Swinging icon fa-bell
		$('#notification_list_button > i').removeClass('fa-fw');
Можно идти спокойно пить пиво - колокол не будет раскачиваться и отвлекать своим набатом. ;)

Re: [3.1][3.2] Раскачай колокол уведомлений - swingingnotify!

Добавлено: 12.05.2018 9:27
neexforg
Пробовал на 3.1.10 не качался,сейчас 3.1.12 таже история, не хочет не как раскачиваться(

Re: [3.1][3.2] Раскачай колокол уведомлений - swingingnotify!

Добавлено: 03.11.2018 11:10
Beer
neexforg, у меня нет версии 3.1 - не могу проверить.


В overall_footer.html есть строка:

Код: Выделить всё

<!-- INCLUDEJS ajax.js -->
загружающая ./styles/prosilver/template/ajax.js

ГУРУ, подскажите: как мне отключить загрузку ajax.js из папки шаблона, а загрузить ajax.js из папки расширения?

Может я не в том направлении копаю, но мне надо в строке <i class="icon fa-bell fa-fw" aria-hidden="true"></i> удалить класс fa-fw ajax скриптом, дабы не перезагружать страницу.

Код: Выделить всё

$('#notification_list_button > i').removeClass('fa-fw');
Как это сделать в расширении без правки ajax.js ума не приложу, т.к. ума нету. :?

Re: [3.1][3.2] Раскачай колокол уведомлений - swingingnotify!

Добавлено: 03.11.2018 16:50
Татьяна5
(Это не ajax, запросов к серверу нет)
Подключите свой файл js в расширении. Либо без файла, выполните код из шаблона

Re: [3.1][3.2] Раскачай колокол уведомлений - swingingnotify!

Добавлено: 03.11.2018 19:36
Beer
Пытаюсь добавить код в overall_header_head_append.html расширения, получается, но как-то не работает оно.... :oops:
Uncaught ReferenceError: unreadCount is not defined
Бесь блок:

Код: Выделить всё

phpbb.markNotifications = function($popup, unreadCount) {
	// Remove the unread status.
	$popup.removeClass('bg2');
	$popup.find('a.mark_read').remove();

	// Update the notification link to the real URL.
	$popup.each(function() {
		var link = $(this).find('a');
		link.attr('href', link.attr('data-real-url'));
	});

	// Update the unread count.
	$('strong', '#notification_list_button').html(unreadCount);
	// Remove the Mark all read link and hide notification count if there are no unread notifications.
	if (!unreadCount) {
		$('#mark_all_notifications').remove();
		$('#notification_list_button > strong').addClass('hidden');
		//Swinging icon fa-bell remove fa-fw
		$('#notification_list_button > i').removeClass('fa-fw');
	}

	// Update page title
	var $title = $('title');
	var originalTitle = $title.text().replace(/(\((\d+)\))/, '');
	$title.text((unreadCount ? '(' + unreadCount + ')' : '') + originalTitle);
};
Нужна строка $('#notification_list_button > i').removeClass('fa-fw');

Нельзя ли показать как это реализовать? :roll:

Re: [3.1][3.2] Раскачай колокол уведомлений - swingingnotify!

Добавлено: 04.11.2018 0:33
Татьяна5
Во-первых все скрипты располагаются в подвале, а во-вторых проще отслеживать событие, приводящее к вызову phpbb.markNotifications, чем переназначать всю функцию (какое там событие, клик по ссылке или отметка чекбокса? его и отслеживать)

Re: [3.1][3.2] Раскачай колокол уведомлений - swingingnotify!

Добавлено: 27.03.2019 6:51
DeHuC_64
а звук прикрутить моно? :roll:

Re: [3.1][3.2] Раскачай колокол уведомлений - swingingnotify!

Добавлено: 27.03.2019 7:11
Perfecthus
DeHuC_64 писал(а): 27.03.2019 6:51 звук прикрутить моно?
Можно, почему нет. Только, нужно ли?

Re: [3.1][3.2] Раскачай колокол уведомлений - swingingnotify!

Добавлено: 26.06.2019 22:43
Beer
Прошу помощи зала - мне надо скриптом обновить класс css у элемента <i class="icon fa-bell fa-fw" aria-hidden="true"></i>.
Я хакнул ajax.js - добавив туда после

Код: Выделить всё

$('#notification_list_button > strong').addClass('hidden');
строку

Код: Выделить всё

$('#notification_list_button > i').removeClass('fa-fw');
Все работает, но хочу по феншую - без правки движка, добавив скрипт в файл overall_footer_after.html но не хватает серого вещества как это сделать. Знаю, что :dontknow

Это хакнутый ajax.js

Код: Выделить всё

phpbb.markNotifications = function($popup, unreadCount) {
	// Remove the unread status.
	$popup.removeClass('bg2');
	$popup.find('a.mark_read').remove();

	// Update the notification link to the real URL.
	$popup.each(function() {
		var link = $(this).find('a');
		link.attr('href', link.attr('data-real-url'));
	});

	// Update the unread count.
	$('strong', '#notification_list_button').html(unreadCount);
	// Remove the Mark all read link and hide notification count if there are no unread notifications.
	if (!unreadCount) {
		$('#mark_all_notifications').remove();
		$('#notification_list_button > strong').addClass('hidden');
		//Swinging icon fa-bell remove Class fa-fw
		$('#notification_list_button > i').removeClass('fa-fw');
	}

	// Update page title
	var $title = $('title');
	var originalTitle = $title.text().replace(/(\((\d+)\))/, '');
	$title.text((unreadCount ? '(' + unreadCount + ')' : '') + originalTitle);
};
Это то, что мне как-бы надо:

Код: Выделить всё

<script>
phpbb.markNotifications = function($popup, unreadCount) {
	if (!unreadCount) {
		//Swinging icon fa-bell remove Class fa-fw
		$('#notification_list_button > i').removeClass('fa-fw');
	}
};
</script>

Re: [3.1][3.2] Раскачай колокол уведомлений - swingingnotify!

Добавлено: 27.06.2019 4:32
Татьяна5
Проще всего назначить эту строчку на клики по определённым элементам на странице