
новая тема новая тема новая тема новая тема новая тема новая тема нова
Сообщений 31 страница 35 из 35
Поделиться312026-10-06 16:11:28
Код:
<div id="smile-panel">
<button type="button" class="smile-btn" onclick="toggleKolobki(); return false;">Колобки</button>
<div class="smile-dropdown" id="smile-dropdown"></div>
</div>
<script>
(function () {
var SMILE_LIST = [
"http://koteyka.ucoz.ru/smiles/pink/8.gif",
"http://smayly.ru/gallery/kolobok/RoseSML/156.gif",
"http://koteyka.ucoz.ru/smiles/pink/14.gif",
"http://doodoo.ru/smiles/wo/mail.gif",
"http://doodoo.ru/smiles/wo/woodpecker.gif",
"http://doodoo.ru/smiles/wo/chupachups.gif",
"http://www.yoursmileys.ru/rsmile/misc/p09071.gif",
"http://doodoo.ru/smiles/wo/devil.gif",
"http://smile.uaze.net/images/smiles/set/pink3/12089.gif",
"http://smayly.ru/gallery/kolobok/RoseSML/190.gif",
"http://doodoo.ru/smiles/wo/s22.gif",
"http://doodoo.ru/smiles/wo/s26.gif",
"http://doodoo.ru/smiles/wo/s28.gif",
"http://doodoo.ru/smiles/wo/s34.gif",
"http://doodoo.ru/smiles/wo/dirge.gif",
"http://doodoo.ru/smiles/wo/king.gif",
"http://doodoo.ru/smiles/wo/poet.gif",
"http://yoursmileys.ru/rsmile/misc/p09011.gif",
"http://yoursmileys.ru/rsmile/misc/p09127.gif",
"http://lisyonok.ucoz.ru/smilez_kolobki_/kolobki237.gif",
"http://smile.uaze.net/images/smiles/set/pink3/12202.gif",
"http://doodoo.ru/smiles/wo/girl_soap_bubble.gif",
"http://yoursmileys.ru/rsmile/misc/p09030.gif",
"http://yoursmileys.ru/rsmile/misc/p09134.gif",
"http://doodoo.ru/smiles/wo/s04.gif",
"http://doodoo.ru/smiles/wo/girl_amaze.gif",
"http://doodoo.ru/smiles/wo/s07.gif",
"http://doodoo.ru/smiles/wo/girl_blush.gif",
"http://doodoo.ru/smiles/wo/girl_camomile.gif",
"http://doodoo.ru/smiles/wo/girl_pink.gif",
"http://doodoo.ru/smiles/wo/s15.gif",
"http://smayly.ru/gallery/kolobok/RoseSML/98.gif",
"http://smayly.ru/gallery/kolobok/RoseSML/29.gif",
"http://smayly.ru/gallery/kolobok/RoseSML/269.gif",
"http://doodoo.ru/smiles/wo/friends.gif",
"http://doodoo.ru/smiles/wo/booze.gif",
"http://www.yoursmileys.ru/rsmile/misc/p09092.gif",
"http://www.imageup.ru/img245/2147531/flowers-571.gif",
"http://www.yoursmileys.ru/tsmile/bouquet/t4420.gif",
"http://smayls.ru/data/smiles/smayliki-cvety-130.gif"
];
function findTextarea() {
var list = document.querySelectorAll("textarea");
for (var i = 0; i < list.length; i++) {
var t = list[i];
if (t.name === "message" || t.id === "message") return t;
}
for (var j = 0; j < list.length; j++) {
if (!list[j].readOnly && list[j].offsetParent !== null) return list[j];
}
return list[0] || null;
}
window.toggleKolobki = function () {
var dd = document.getElementById("smile-dropdown");
if (!dd) return;
if (dd.dataset.open === "1") { dd.dataset.open = "0"; return; }
if (!dd.dataset.filled) {
var html = "";
SMILE_LIST.forEach(function (url) {
html += '<img src="' + url + '" class="smile-item" data-u="' + url + '" alt="">';
});
dd.innerHTML = html;
dd.dataset.filled = "1";
dd.onclick = function (e) {
var img = e.target.closest("img.smile-item");
if (!img) return;
insertKolobok(img.getAttribute("data-u"));
};
}
dd.dataset.open = "1";
};
function insertKolobok(url) {
var ta = findTextarea();
if (!ta) return;
var code = "[img]" + url + "[/img] ";
var s = ta.selectionStart != null ? ta.selectionStart : ta.value.length;
var e = ta.selectionEnd != null ? ta.selectionEnd : ta.value.length;
ta.value = ta.value.slice(0, s) + code + ta.value.slice(e);
ta.selectionStart = ta.selectionEnd = s + code.length;
ta.focus();
ta.dispatchEvent(new Event("input", { bubbles: true }));
var dd = document.getElementById("smile-dropdown");
if (dd) dd.dataset.open = "0";
}
document.addEventListener("click", function (e) {
if (!e.target.closest("#smile-panel")) {
var dd = document.getElementById("smile-dropdown");
if (dd) dd.dataset.open = "0";
}
});
function placePanel() {
var panel = document.getElementById("smile-panel");
var ta = findTextarea();
if (!panel || !ta || panel.dataset.moved) return;
panel.style.display = "block";
var submitBlock = document.querySelector("p.formsubmit");
if (submitBlock && submitBlock.parentNode) {
submitBlock.parentNode.insertBefore(panel, submitBlock);
} else if (ta.parentNode) {
ta.parentNode.insertBefore(panel, ta.nextSibling);
}
panel.dataset.moved = "1";
}
document.addEventListener("DOMContentLoaded", placePanel);
setTimeout(placePanel, 600);
setTimeout(placePanel, 1500);
})();
</script>
<style>
/* ====== ПАНЕЛЬ ====== */
#smile-panel {
position: relative !important;
margin: 0 0 30px 0 !important;
font-family: 'Montserrat', Arial, sans-serif !important;
display: block !important;
width: 100% !important;
}
/* ====== КНОПКА «Колобки» ====== */
.smile-btn {
background: linear-gradient(135deg, #720119 0%, #4a040d 100%) !important;
color: #ffd79a !important;
border: 1px solid rgba(222, 190, 146, 0.4) !important;
border-radius: 4px !important;
padding: 6px 18px !important;
font-family: 'Cinzel', Georgia, serif !important;
font-size: 11px !important;
font-weight: 700 !important;
letter-spacing: 1px !important;
text-transform: uppercase !important;
cursor: pointer !important;
transition: all .2s ease !important;
position: relative !important;
}
.smile-btn:hover {
background: #8a1a25 !important;
box-shadow: 0 0 10px rgba(222, 190, 146, 0.5) !important;
}
/* ====== СПОЙЛЕР СО СМАЙЛАМИ ====== */
.smile-dropdown {
display: flex !important;
flex-wrap: wrap !important;
gap: 4px !important;
position: relative !important;
max-height: 0 !important;
padding: 0 !important;
margin: 0 !important;
overflow: hidden !important;
border: 0 solid transparent !important;
border-radius: 6px !important;
background: transparent !important;
box-shadow: none !important;
transition: max-height .35s ease, padding .35s ease,
margin .35s ease, border-color .35s ease,
box-shadow .35s ease, background .35s ease;
}
.smile-dropdown[data-open="1"] {
max-height: 320px !important;
padding: 10px !important;
margin: 6px 0 0 0 !important;
border: 1px solid rgba(222, 190, 146, 0.35) !important;
background: #1a1416 !important;
box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5) !important;
overflow-y: auto !important;
}
/* ====== СМАЙЛЫ ====== */
.smile-dropdown .smile-item {
width: 32px !important;
height: 32px !important;
object-fit: contain !important;
cursor: pointer !important;
border: 1px solid transparent !important;
border-radius: 4px !important;
transition: all .15s ease !important;
background: rgba(255, 255, 255, 0.03) !important;
padding: 2px !important;
}
.smile-dropdown .smile-item:hover {
border-color: #debe92 !important;
transform: scale(1.15) !important;
background: #720119 !important;
}
.smile-btn {
display: block !important;
margin: 0 auto !important;
background: linear-gradient(135deg, #720119 0%, #4a040d 100%) !important;
color: #ffd79a !important;
border: 1px solid rgba(222, 190, 146, 0.4) !important;
border-radius: 4px !important;
padding: 6px 18px !important;
font-family: 'Cinzel', Georgia, serif !important;
font-size: 11px !important;
font-weight: 700 !important;
letter-spacing: 1px !important;
text-transform: uppercase !important;
cursor: pointer !important;
transition: all .2s ease !important;
position: relative !important;
}
#smile-panel {
position: relative !important;
margin: 0 0 10px 0 !important;
text-align: center !important;
left: 10px !important; /* ← сдвиг всего блока вправо на 20px */
font-family: 'Montserrat', Arial, sans-serif !important;
display: block !important;
width: 100% !important;
}
</style>ПеревестиПоделиться322026-10-12 19:05:42
[u][u][/u][/u]
Поделиться332026-10-12 19:05:55
#510112, #510112, #720119, #510112
kenny kenny kenny kenny написал(а):
#510112, #510112, #720119, #510112
Отредактировано kenny kenny kenny kenny (2026-10-12 19:05:59)
Поделиться342026-10-12 19:06:05
kenny kenny kenny kenny написал(а):
#510112, #510112, #720119, #510112
Поделиться352026-10-16 19:03:57
Код:
<script>
(function () {
// Коды для взаимной рекламы (как было)
var advertiseCodes = [
"[align=center][url=https://tuduriaid.rusff.me][img]https://upforme.ru/uploads/001c/cc/7a/5/590924.png[/img][/url][/align]",
"[align=center][url=https://tuduriaid.rusff.me][img]https://upforme.ru/uploads/001c/cc/7a/5/894558.png[/img][/url][/align]"
];
// Возвращает id из урла, если есть
function getUrlParameterByName(name, url) {
try {
var u = new URL(url);
return u.searchParams.get(name) || "";
} catch (e) {
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "=([^&#]*)");
var res = regex.exec(url);
return res ? decodeURIComponent(res[1].replace(/\+/g, " ")) : "";
}
}
// Собираем все посты
function getPosts() {
return Array.from(document.querySelectorAll(".post"));
}
// Копирование в буфер (с использованием navigator.clipboard если возможно)
function copyText(text) {
if (navigator.clipboard && window.isSecureContext) {
return navigator.clipboard.writeText(text).catch(function () {
fallbackCopy(text);
});
} else {
return new Promise(function (resolve) {
fallbackCopy(text);
resolve();
});
}
}
function fallbackCopy(text) {
var ta = document.createElement("textarea");
ta.style.position = "fixed";
ta.style.left = "-1000px";
ta.value = text;
document.body.appendChild(ta);
ta.focus();
ta.select();
try { document.execCommand("copy"); } catch (err) { /* ignore */ }
document.body.removeChild(ta);
}
// Копирование кода для данного поста
function copyAdvertisingToClipboard(ev, btn) {
ev.preventDefault();
var post = btn.closest(".post");
if (!post) return;
var permalink = post.querySelector(".permalink");
var href = permalink ? permalink.getAttribute("href") : "";
var code = advertiseCodes[Math.floor(Math.random() * advertiseCodes.length)].replace("[url=https://tuduriaid.rusff.me]", "[url=https://tuduriaid.rusff.me]");
// Текст: код + ссылка на пост
var finalText = code + "\n" + "[url= + href + ]ваша реклама[/url]";
copyText(finalText);
}
// Добавляем пункт "Взаимная реклама" в каждый пост
function addAdvertiseLinks() {
var idParam = getUrlParameterByName("id", window.location.href);
if (!idParam) return;
var posts = getPosts();
posts.forEach(function (post) {
var links = post.querySelector(".post-links ul");
if (!links) return;
// если уже добавлено — пропускаем
if (post.querySelector(".pl-advlink")) return;
var li = document.createElement("li");
li.className = "pl-advlink";
var a = document.createElement("a");
a.href = "#";
a.textContent = "Взаимная реклама";
a.addEventListener("click", function (ev) copyAdvertisingToClipboard(ev, a), false);
li.appendChild(a);
links.appendChild(li);
});
}
// Наблюдатель за DOM, чтобы ловить момент подгрузки постов
var observer = new MutationObserver(function (mutations) {
// запускаем добавление кнопок, если появляются новые посты
addAdvertiseLinks();
});
function initObserver() {
// слежение за основным контейнером форума
var target = document.body;
if (target) {
observer.observe(target, { childList: true, subtree: true });
}
}
// Инициализация
document.addEventListener("DOMContentLoaded", function () {
addAdvertiseLinks();
initObserver();
});
})();
</script>
