Гость
Обновленые темы Популярные темы Активные пользователи Новые пользователи Лента новостей
Area of Decay [10.07.2019]
Xemordio 3583 |  11 |  68
Бармен 43 |  7 |  0
Infe[R]nos 38 |  5 |  1
StraNNik 25 |  1 |  0
Waldemar 12 |  0 |  2
NL-Vincenz 12 |  0 |  3
frombool [22.07.2019]
slesar6razriada [21.07.2019]
senyayermolin [20.07.2019]
anisimov-57 [19.07.2019]
redfog [18.07.2019]

  • Страница 1 из 1
  • 1
Форум » Web-Раздел » Скрипты для uCoz » Последние посещенные темы
Последние посещенные темы
Xemordio Offline Дата: Воскресенье, 26.08.2018, 18:06 | Сообщение # 1
Администратор
Звание: Маршал [?]
Сообщений: 3583

Всем привет, сегодня у нас очередной полезный скрипт который позволит отображать посещенные темы юзером, как у нас :)

Функции:
1. Живая лента посещенных тем.
2. Подсчет количества просмотра темы.
3. Возможно указать лимит отображения тем в блоке.

Установка:
1. Идем > Страница материала и комментариев к нему (Нужного модуля) и добавляем html:
Код
<div style="display:none;" data-img="$SCREEN_URL$" data-title="$ENTRY_TITLE$" data-id="$ID$" id="lastnews$ID$" class="lastnews$ID$ lastnews"></div>

2. На этой же странице добавляем вывод (Для создания и парсинга тем (Можно оформить как блок, на это он и создан)):
Код
<div id="news-locale-save"></div>

Если блок вам не нужен на этой страницу скройте его добавив style="display:none;"

3. На этой же странице добавим js код:
Код
<script>
newsLastLoad = localStorage["newsLastSave"];
$('#news-locale-save').html(newsLastLoad);
newsLastImg = $('.lastnews').attr('data-img');
newsLastTitle = $('.lastnews').attr('data-title');
newsLastUrl = location.href;
newsLastId = $('.lastnews').attr('data-id');
dates = new Date();  
sDt = dates.getDate();  
sDm = dates.getMonth() +1;  
sDy = dates.getFullYear();
sTh = dates.getHours();
sTm = dates.getMinutes();  
if($('#news-locale-save div').hasClass("lastnews"+newsLastId)) {
newsLastView = $('#news-locale-save .lastnews'+newsLastId+' p').html();
newsLastView = Number(newsLastView)+Number(1);
$('#news-locale-save .lastnews'+newsLastId+' p').html(newsLastView);
$('#news-locale-save').prepend( $('#news-locale-save .lastnews'+newsLastId+'') );
} else {
newsLastLimit = $('#news-locale-save div').size();
if(newsLastLimit < 4) { } else { $('#news-locale-save div:last').remove(); };
$('#news-locale-save').prepend('<div id="lastnews'+newsLastId+'" class="lastnews'+newsLastId+'" onclick="location=\''+newsLastUrl+'\'"><img src="'+newsLastImg+'"><p title="Посещали">1</p><b>'+newsLastTitle+'</b><br><em>Посещено: '+sDt+'.'+sDm+'.'+sDy+' в '+sTh+':'+sTm+'</em></div>');
};
newsLastSave = $('#news-locale-save').html();
localStorage.removeItem("newsLastSave");
localStorage.setItem('newsLastSave', ''+ newsLastSave+'');
</script>

В скрипте находим newsLastLimit < 4 - Где 4 это число сохранения посещенных тем новостей.

4. Добавим базовое CSS:
Код
#news-locale-save img {
  width: 25px;
  height: 25px;
  border-radius: 10% 0px;
  vertical-align: middle;
  margin: 0px 10px 5px 0px;
}
#news-locale-save b {
  font-weight: normal;
  position: relative;
  top: -7px;
  text-transform: capitalize;
  white-space: nowrap;
  overflow-x: hidden;
  text-overflow: ellipsis;
  max-width: 233px;
  display: inline-block;
}
#news-locale-save em {
  position: absolute;
  font-size: 9px;
  font-style: normal;
  margin: -18px 0px 0px 34px;
  color: #ccc;
}
#news-locale-save p {
  position: absolute;
  margin: -25px 0px 0px 280px;
  background: #e8e8e8;
  padding: 0px 3px;
  color: darkcyan;
  border-radius: 2px;
}

Вывод последних тем на любую страницу сайта:
1. Добавим html:
Код
<div id="news-locale-save"></div>

2. Добавим js:
Код
<script>if (localStorage["newsLastSave"] == undefined) { $('#news-locale-save').html("Вы еще не посещали новости"); } else { newsLastLoad = localStorage["newsLastSave"];
$('#news-locale-save').html(newsLastLoad); }</script>
Дата регистрации: 22.07.2017
Форум » Web-Раздел » Скрипты для uCoz » Последние посещенные темы
  • Страница 1 из 1
  • 1
Поиск: