Единый форум поддержки

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Единый форум поддержки » Архив » Запросы по скриптам[10]


Запросы по скриптам[10]

Сообщений 1721 страница 1740 из 2001

1

Архивная тема с запросами о создании различных скриптов

Это архивная тема с запросами от пользователей на написание скриптов. Некоторые скрипты могут быть индивидуальным исполнением для конкретного форума, что не гарантирует его работоспособность на другом форуме. Перед использованием скрипта, пожалуйста, внимательно изучите все предыдущие сообщения между автором запроса и исполнителем, в них могут содержаться важные детали о функционале и установке найденного скрипта.
Скрипты, опубликованные в этой теме, могут быть устаревшими и нерабочими, поскольку функционал форумов и стандарты языка javascript или библиотеки jquery могли измениться.

Предыдущая тема - Запросы по скриптам[9]
Следующая тема - Запросы по скриптам[11]

Инструменты для поиска и редактирования стиля (скриптов).

Как с помощью браузера можно определить элемент дизайна.

Каталог скриптов/CSS

Полезные скрипты, необходимые темы для новичков, а также ссылки на сайты рассказывающие что такое НТМЛ и CSS.

Типовые Вопросы (ЧаВо)

Ответы на часто задаваемые вопросы.

Как задавать вопросы! Разница между стилем и скриптом. ( Советы)

Плюс к названию темы еще и Памятка.

+4

1721

Герда написал(а):

МАЧОнаДАЧЕ, Радистка и кто там еще спрашивал...

https://upforme.ru/uploads/0007/e3/f7/2/46357.jpg

выложила тут: http://forumd.ru/viewtopic.php?id=5946

оффтоп

А как сделать так,чтобы страничка не перезагружалась от любого нажатия на рейтинг?

0

1722

Радистка
обнови код: http://forumd.ru/viewtopic.php?id=5946

в хтмл-низ добавила до.подсказочку о том, что на лису надо кликать
+ добавила плавность появления надписей "Большинству пост понравился" и т.д.

+1

1723

Алгол написал(а):

А как сделать так,чтобы страничка не перезагружалась от любого нажатия на рейтинг?

в хтмл-низ убрать вот эту часть:

Код:
$('.post-vote a').click(function() {
    location.reload();
});

НО! будут проблемы с появлением новой картинки у оцененного сообщения,
т.к. цифры заменены на картинки.
циферки-то нам движок риал тайм обновляет. а вот картинка появляется при загрузке странички.

+1

1724

Алгол написал(а):

А как сделать так,чтобы страничка не перезагружалась от любого нажатия на рейтинг?

лучше наверное чтобы не перезагружалось, оставить цифры и заменять только кнопки голосования:
https://upforme.ru/uploads/0000/14/1c/16803/170329.jpg

обрезанный код

стиль

Код:
<style>

.post-vote {
text-align: right;
}

.punbb .post-vote p {
padding: 0 !important;
margin: 0 !important;
float: none !important;
}

.post-vote:before {
content: 'Реакция на сообщение:';
font-size: 11px;
display: block;
}
.post-vote .container:before {
content: 'Внимание! Реакция отражается на репутации пользователя!';
font-size: 11px;
display: block;
color: #e63737;
} 

.post-vote .container a {
display: inline-block;
font-size: 0 !important;
width: 50px;
height: 50px;
background-size: contain;
opacity: 0.5;
transition: all 0.6s;
-webkit-transition: all 0.6s;
position: relative;
top: -5px;
}
.tipsy, .post-vote .container a:hover {opacity: 1 !important;}

.post-vote .container a[href*="&v=1"] {
background-image: url(https://vkclub.su/_data/stickers/poppy/sticker_vk_poppy_001.png);
}
.post-vote .container a[href*="&v=0"] {
background-image: url(https://vkclub.su/_data/stickers/poppy/sticker_vk_poppy_017.png);
}

</style>

скрипт

Код:
<!-- Реакции на пост -->
<script language="javascript">
$(document).ready(function(){

$('.post-vote .container a[href*="&v=1"]').attr('title', 'Мне нравится!');
$('.post-vote .container a[href*="&v=0"]').attr('title', 'Отстой...');
$('.post-rating a').attr('title', 'Добавить реакцию (кликай)');

$('.post-vote .container a[title]').tipsy({fade: true, gravity: 's'});
$('.post-rating a[title]').tipsy({fade: true, gravity: 's'});

});

</script>

+1

1725

Герда написал(а):
Алгол написал(а):

А как сделать так,чтобы страничка не перезагружалась от любого нажатия на рейтинг?

в хтмл-низ убрать вот эту часть:

Код:
$('.post-vote a').click(function() {
    location.reload();
});

НО! будут проблемы с появлением новой картинки у оцененного сообщения,
т.к. цифры заменены на картинки.
циферки-то нам движок риал тайм обновляет. а вот картинка появляется при загрузке странички.

Спасибо,попробуем]]

0

1726

Герда написал(а):

<!-- Реакции на пост -->
<script language="javascript">
$(document).ready(function(){

$('.post-vote .container a[href*="&v=1"]').attr('title', 'Мне нравится!');
$('.post-vote .container a[href*="&v=0"]').attr('title', 'Отстой...');
$('.post-rating a').attr('title', 'Добавить реакцию (кликай)');

$('.post-vote .container a[title]').tipsy({fade: true, gravity: 's'});
$('.post-rating a[title]').tipsy({fade: true, gravity: 's'});

});

</script>

С этим вариантом Кода,пропали все лисички,остались только всплывающие надписи.

0

1727

Алгол
Это версия, где остаются только лисички на + и - к посту (появляются по клику на цифру рейтинга)

Посмотрела на кузнечике - у тебя же там отключены минусы.
В таком случае надо, наверное, просто вставить лису вместо плюсика за пост и сделать её видимой по умолчанию.

Можно вставить вариацию лисичек: "пост ещё не оценили" и "сообщение понравилось", НО они НЕ меняются без обновления странички. Будет смотреться "забаговано".

Выбирай - как больше нравится. 8-)

+1

1728

Герда написал(а):
Алгол написал(а):

А как сделать так,чтобы страничка не перезагружалась от любого нажатия на рейтинг?

в хтмл-низ убрать вот эту часть:

Код:
$('.post-vote a').click(function() {
    location.reload();
});

НО! будут проблемы с появлением новой картинки у оцененного сообщения,
т.к. цифры заменены на картинки.
циферки-то нам движок риал тайм обновляет. а вот картинка появляется при загрузке странички.

А этот вариант ,работает отлично]]спасибо огромное]]
Куда донат слать,увидела]]Еще раз спасибо♥♥♥

0

1729

Герда написал(а):

Алгол
Это версия, где остаются только лисички на + и - к посту (появляются по клику на цифру рейтинга)

Посмотрела на кузнечике - у тебя же там отключены минусы.
В таком случае надо, наверное, просто вставить лису вместо плюсика за пост и сделать её видимой по умолчанию.

Можно вставить вариацию лисичек: "пост ещё не оценили" и "сообщение понравилось", НО они НЕ меняются без обновления странички. Будет смотреться "забаговано".

Выбирай - как больше нравится. 8-)

У нас только плюсы,минусов нет]]

0

1730

Герда
По идее мон добавлять класс bad и good с цифрой плюсов и и минусов, тады смайлы можно разнообразить ?

<!--  Класс к  .post-vote -->
<script type = "text/javascript" >
$('.post-rating').each(function (i) {++j;
  var b = parseInt($(this).text());
  var bp = Math.abs(b); 
  if(bp>9) bp = 9; //Ограничение максимального класса:
  if(b>0)$(this).addClass('good-'+bp);
  if(b<0)$(this).addClass('bad-'+bp);
});
</script>

Отредактировано Deff (Вс, 9 Авг 2020 06:49:55)

+1

1731

Герда написал(а):

Радистка
обнови код: http://forumd.ru/viewtopic.php?id=5946

в хтмл-низ добавила до.подсказочку о том, что на лису надо кликать
+ добавила плавность появления надписей "Большинству пост понравился" и т.д.

Обновила, все чудненько, только вот как вот это вот поправить:
https://upforme.ru/uploads/0000/14/1c/31486/t798385.png
ну чтоб не посередь поста всплывало кто плюсы наставил. в принципе я готова пожертвовать подсказкой "большинству пост понравился"

Отредактировано Радистка (Вс, 9 Авг 2020 07:41:18)

0

1732

wodox1

Код:
<!-- спойлер -->
<style type="text/css"> 
.punbb .quote-box.spoiler-box {
background:linear-gradient(180deg, rgba(255, 254, 249, 1) 0%, rgba(253, 252, 206, 1) 100%);
border:dotted 1px #d0b857;
border-radius:8px;
padding:10px 5px 14px 10px;
}
.punbb .spoiler-box blockquote {
min-width:100%;
}
#button-spoiler {
background:url('https://forumstatic.ru/files/0013/0b/24/10341.png') no-repeat center !important;
}
.post-content .spoiler-box > blockquote.visible,.post-content .spoiler-box span.hide {
display:none;
}
</style>
<script type="text/javascript">
function tag_spolierr() {
    var enterTITLE = prompt("Введите описание закрытой кнопки", 'Спойлер');
    var enterTITLE2 = prompt("Введите описание открытой кнопки", 'Закрыть');
    bbcode('[spoiler=' + enterTITLE + '|' + enterTITLE2 + ']', '[/spoiler]');
}

var image_Spl = "<img width=\"34\" src=\"https://forumstatic.ru/files/0013/0b/24/80208.png\" class=\"Sp-button\" onclick=\"$(this).parents('div.spoiler').children('div.show-hide').toggle('slow'),$(this).parents('div.spoiler').find('span.show-hide').toggle()\" onmousedown=\"this.src='https://forumstatic.ru/files/0013/0b/24/80208.png'\" onmouseup=\"this.src='https://forumstatic.ru/files/0013/0b/24/80208.png'\" onmouseout=\"this.src='https://forumstatic.ru/files/0013/0b/24/80208.png'\" style=\"margin:-8px 6px 0 -28px;float:left;\" alt=\"'Кнопка'\"/>";

$(document).ready(function() {
a = '<img onclick="tag_spolierr()" title="Скрыть в спойлер" src="/i/blank.gif"/>'
$("#form-buttons td#button-spoiler img").replaceWith(a);

$(".post-box .quote-box.spoiler-box div[onclick*='toggleSpoiler']").each(function() {
    $(this).html($(this).html().replace(/(.*)?\|(.*)?/img, '<span class="visible">$1</span><span class="hide">$2</span>'))
    $(this).prepend(image_Spl);
    $(this).parent().on('spoiler.firstOpen', function() {
        $(this).parent().off('spoiler.firstOpen');
        $(this).find(".quote-box.spoiler-box div[onclick*='toggleSpoiler']").each(function() {
           $(this).html($(this).html().replace(/(.*)?\|(.*)?/img, '<span class="visible">$1</span><span class="hide">$2</span>')); $(this).prepend(image_Spl)
             $(this).click(function(){
                $(this).next('blockquote').toggle('Slow');
                $(this).find('span:eq(0),span:eq(1)').toggleClass('hide').toggleClass('visible');
             });
        });
    });
});
$(".post-box .quote-box.spoiler-box div[onclick*='toggleSpoiler']").click(function(){
  $(this).next('blockquote').toggle('Slow');
  $(this).find('span:eq(0),span:eq(1)').toggleClass('hide').toggleClass('visible');
 });
});

</script>
<!-- окончание спойлера-->
Код:
<!-- Свернуть спойлер -->
<script type="text/javascript">
function clickSP(i) {
    setTimeout("$('#spoiler" + i + "').click()", 100);
}
$('.quote-box.spoiler-box').each(function(i) {
    $(this).children('div').attr('id', 'spoiler' + i).append('<a name="220_' + i + '" style="position:absolute;margin-top:-200px"></a>');
    $(this).on('spoiler.firstOpen', function() {
        $(this).off('spoiler.firstOpen');
        $(this).children('blockquote').append('<a href="#220_' + i + '" onclick="clickSP(' + i + ')" style="float:right">Свернуть спойлер</a>');
        $(this).find('.quote-box.spoiler-box').each(function(j) {
            var i = j+2;
            $(this).children('div').attr('id', 'spoiler' + i).append('<a name="220_' + i + '" style="position:absolute;margin-top:-200px"></a>');
            $(this).children('div[onclick*="toggleSpoiler"]').one('click', function() {
                $(this).parent().children('blockquote').append('<a href="#220_' + i + '" onclick="clickSP(' + i + ')" style="float:right">Свернуть спойлер</a>');
            });
        });
    });
});
</script>

0

1733

Deff написал(а):

По идее мон добавлять класс bad и good с цифрой плюсов и и минусов, тады смайлы можно разнообразить ?

*совсем обнаглев*
а можно 4 класса - еще и  awfull если b <-4 и сool если b>+4

0

1734

Герда

1000 раз  :cool: спасибо!!!

0

1735

Герда написал(а):
Радистка написал(а):

Герда, куда донат засылать?

ы)
ну, если не жалко... https://www.donationalerts.com/r/forumd
:flirt:

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

0

1736

Радистка написал(а):

Обновила, все чудненько, только вот как вот это вот поправить:

после .post-vote { добавляем:
      max-width: 200px;
      float: right;

Радистка написал(а):

а можно 4 класса - еще и  awfull если b <-4 и сool если b>+4

Сделала
https://upforme.ru/uploads/0007/e3/f7/2/761640.jpg

*обновила коды: http://forumd.ru/viewtopic.php?id=5946

**по аналогии с текущем кодом можно взять свои смайлики, например (тут) и понадобавлять еще больше отображений разных степеней злости/радости в посты.


ЗЫ
Ахтунг! если кто-нить мне подскажет, как можно зафиксировать контейнер проголосовавших за пост - я попробую и в него лисят напихать

+2

1737

Герда написал(а):

а как скрыть контейнер post-vote для юзера, если он уже голосовал?

По идее, есть давнишний скрипт-костыль: Скрытие кнопок голосования в уже оцененном посте, вполне рабочий и по сей день.

Deff написал(а):

По хорошему тут бы надо просить Alex_63 добавить скрыто список ID проголосовавших в само сообщение, ибо куча запросов на каждой странице даст большую нагрузку на сервер. чем заранее скрытая простановка их в пост...

Так-то получение информации о проголосовавших каждого поста (в движке форума) тоже даст нехилую нагрузку на базу. Вроде это уже обсуждалось, еще пару лет назад, решили, что нецелесообразно это.

Герда написал(а):

циферки-то нам движок риал тайм обновляет. а вот картинка появляется при загрузке странички.

Можно отловить событие изменения циферки и повесить на него обновление картинки)

+1

1738

Герда написал(а):

после .post-vote { добавляем:
      max-width: 200px;
      float: right;

:confused:  не выходит!!!!

0

1739

Радистка
обнови полностью коды:
http://forumd.ru/viewtopic.php?id=5946

если не выходит, дай еще раз ссыль на форум, полезу разбираться, че там такое.

0

1740

Герда
Вроде получилось (на твоем тестовике уже работает):

Код:
<!-- Реакции на пост -->
<script language="javascript">
(function(){

  function processRating() {
    $('.post-rating').removeClass('good bad super awful').each(function () {
      var b = parseInt($(this).text());
      if (b > 0) $(this).addClass('good');
      if (b < 0) $(this).addClass('bad');
      if (b > 4) $(this).addClass('super');
      if (b < -1) $(this).addClass('awfull');
    });

    $('.post-vote .container a[href*="&v=1"]').attr('title', 'Мне нравится!');
    $('.post-vote .container a[href*="&v=0"]').attr('title', 'Отстой...');
    $('.post-rating a').attr('title', 'Добавить реакцию (кликай)');

    $('.post-vote .container a[title], .post-rating a[title]').tipsy({fade: true, gravity: 's'});
  }

  processRating();

  $(document).ajaxSuccess(function(e, xhr, data) {
    if (!~data.url.indexOf('relation.php')) return;
    if (JSON.parse(xhr.responseText).response) setTimeout(processRating, 0);
  });

})();
</script>

+2


Вы здесь » Единый форум поддержки » Архив » Запросы по скриптам[10]