14.08.2021, 13:42
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,132
|
|
Ubivectel,
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]
О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
|
|
19.10.2021, 17:59
|
Профессор
|
|
Регистрация: 01.12.2020
Сообщений: 171
|
|
Еще бы ограничить кол-во символов в цитате, меня хватило только на такое:
(function(){
var cut = document.getElementsByClassName('KIDE_quote');
for( var i = 0; i < cut.length; i++ ){
cut[i].innerText = cut[i].innerText.slice(0,20) + '...';
}
})();
Но оно во первых не работает, а во вторых наверное дико создавать для этого отдельную функцию...
|
|
19.10.2021, 20:36
|
|
Профессор
|
|
Регистрация: 03.02.2020
Сообщений: 2,753
|
|
Сообщение от Ubivectel
|
Еще бы ограничить кол-во символов в цитате
|
Обычно ограничивают не длину текста, а размер области, в которой он отображается.
Используя свойства Css max-width/max-height.
Что бы вставить многоточие, вместо отрезанного текста используют
text-overflow: ellipsis;
|
|
20.10.2021, 10:37
|
Профессор
|
|
Регистрация: 01.12.2020
Сообщений: 171
|
|
С этого начал разумеется. Но там нагромождение тегов с заморочными стилями. А text-overflow: ellipsis;требует display: inline-block. На крайняк так и сделаю конечно, но на JS было бы в данном случае более красивым решением.
|
|
20.10.2021, 11:11
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,132
|
|
Сообщение от Ubivectel
|
не работает,
|
что не так?
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<div>
<div class="KIDE_quote">Lorem ipsum dolor sit amet.</div>
<div class="KIDE_quote">Est laboriosam ipsam numquam tempore.</div>
<div class="KIDE_quote">Quos, porro consequatur itaque at?</div>
<div class="KIDE_quote">Dolorum, quis recusandae enim minus!</div>
<div class="KIDE_quote">A, nisi odio id distinctio.</div>
<div class="KIDE_quote">Unde, explicabo amet officia placeat.</div>
<div class="KIDE_quote">Iure assumenda ad labore deserunt?</div>
<div class="KIDE_quote">Praesentium, deserunt eaque accusantium assumenda.</div>
<div class="KIDE_quote">Fuga, odio incidunt accusantium perspiciatis.</div>
<div class="KIDE_quote">Repudiandae labore eligendi perspiciatis alias?</div>
</div>
<script>
(function() {
var cut = document.getElementsByClassName('KIDE_quote');
for (var i = 0; i < cut.length; i++) {
cut[i].innerText = cut[i].innerText.slice(0, 20) + '...';
}
})();
</script>
</body>
</html>
|
|
20.10.2021, 12:12
|
Профессор
|
|
Регистрация: 01.12.2020
Сообщений: 171
|
|
Мммм.. то есть должно работать? Я вставлял вот так:
document.addEventListener("click", ({ target }) => {
if (target = target.closest('.qutes')) {
target = target.closest('.KIDE_msg_top')
let clon = target.cloneNode(true); // Делаем копию узла с потомками
clon.querySelectorAll(".KIDE_quote").forEach(el => el.remove()); // Удаляем из копии все span.KIDE_msg
let text = clon.textContent; // Берем текст из клона
kide.insertSmile(`[QUOTE]${text}[/QUOTE]\n`);
}
});
(function(){
var cut = document.getElementsByClassName('KIDE_quote');
for( var i = 0; i < cut.length; i++ ){
cut[i].innerText = cut[i].innerText.slice(0,20) + '...';
}
})();
Не работает
|
|
20.10.2021, 15:47
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,132
|
|
Сообщение от Ubivectel
|
Я вставлял вот так:
|
моя твоя не понимай)))
|
|
20.10.2021, 19:09
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,132
|
|
Ubivectel,
я могу только догадываться, что ты хочешь сделать, поэтому пока подсказать не могу))).
|
|
20.10.2021, 19:49
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,132
|
|
Ubivectel,
ищи функцию которая выводит <span class="KIDE_quote"> и это не kide.onLoad.
а пока так вместо #36
document.addEventListener("click", ({ target }) => {
if (target = target.closest('.qutes')) {
target = target.closest('.KIDE_msg_top')
let clon = target.cloneNode(true); // Делаем копию узла с потомками
clon.querySelectorAll(".KIDE_quote").forEach(el => el.remove()); // Удаляем из копии все span.KIDE_msg
let text = clon.textContent; // Берем текст из клона
if(text.length > 20) text = text.slice(0,17) + '...'
kide.insertSmile(`[QUOTE]${text}[/QUOTE]\n`);
}
});
|
|
|
|