|

19.08.2023, 21:43
|
Профессор
|
|
Регистрация: 01.12.2020
Сообщений: 171
|
|
Блоку .KIDE_msg_top имею ввиду
|
|

19.08.2023, 21:44
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,144
|
|
Сообщение от Ubivectel
|
хотелось бы свайп по блоку,
|
let touch_yy, touch_xx;
document.addEventListener("touchstart", (event) => {
let target = event.target;
if (target = target.closest('.KIDE_quote')) {
touch_yy = event.changedTouches[event.changedTouches.length - 1].clientY;
touch_xx = event.changedTouches[event.changedTouches.length - 1].clientX;
}
})
document.addEventListener("touchend", (event) => {
let target = event.target;
if (target = target.closest('.KIDE_quote')) {
let swap = (Math.abs(touch_yy - event.changedTouches[event.changedTouches.length - 1].clientY) > 30 || Math.abs(touch_xx - event.changedTouches[event.changedTouches.length - 1].clientX) > 30)
if (swap) {
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.trim(); // Берем текст из клона
if (text.length > 60) text = text.slice(0, 60) + '...'
kide.insertSmile(`[QUOTE]${text}[/QUOTE]\n`); // ставляем текст в инпут
}
}
})
|
|

19.08.2023, 21:47
|
Профессор
|
|
Регистрация: 01.12.2020
Сообщений: 171
|
|
Сообщение от рони
|
let touch_yy, touch_xx;
document.addEventListener("touchstart", (event) => {
let target = event.target;
if (target = target.closest('.KIDE_quote')) {
touch_yy = event.changedTouches[event.changedTouches.length - 1].clientY;
touch_xx = event.changedTouches[event.changedTouches.length - 1].clientX;
}
})
document.addEventListener("touchend", (event) => {
let target = event.target;
if (target = target.closest('.KIDE_quote')) {
let swap = (Math.abs(touch_yy - event.changedTouches[event.changedTouches.length - 1].clientY) > 30 || Math.abs(touch_xx - event.changedTouches[event.changedTouches.length - 1].clientX) > 30)
if (swap) {
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.trim(); // Берем текст из клона
if (text.length > 60) text = text.slice(0, 60) + '...'
kide.insertSmile(`\n`); // ставляем текст в инпут
}
}
})
|
Да, именно так и сделал, мало помалу вс е же учусь, многое уже сам делаю )
|
|

19.08.2023, 21:47
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,144
|
|
Ubivectel,
ок! 
|
|

19.08.2023, 21:52
|
Профессор
|
|
Регистрация: 01.12.2020
Сообщений: 171
|
|
Что-то бы такое еще добавить:
if (end < start - offset) {
console.log('Swipe right');
swipeElement.classList.add('swiped');
setTimeout(function () {
swipeElement.classList.remove('swiped');
}, 300);
}
Что бы было не только функционально, но и красиво
|
|

19.08.2023, 22:13
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,144
|
|
Ubivectel,
как вариант...
let touch_yy, touch_xx;
document.addEventListener("touchstart", (event) => {
let target = event.target;
if (target = target.closest('.KIDE_quote')) {
touch_yy = event.changedTouches[event.changedTouches.length - 1].clientY;
touch_xx = event.changedTouches[event.changedTouches.length - 1].clientX;
}
})
document.addEventListener("touchend", (event) => {
let target = event.target;
if (target = target.closest('.KIDE_quote')) {
let swap = (Math.abs(touch_yy - event.changedTouches[event.changedTouches.length - 1].clientY) > 30 || Math.abs(touch_xx - event.changedTouches[event.changedTouches.length - 1].clientX) > 30)
if (swap) {
target = target.closest('.KIDE_msg_top');
target.classList.add('swiped');
setTimeout(function () {
target.classList.remove('swiped');
}, 300);
let clon = target.cloneNode(true); // Делаем копию узла с потомками
clon.querySelectorAll(".KIDE_quote").forEach(el => el.remove()); // Удаляем из копии все span.KIDE_msg
let text = clon.textContent.trim(); // Берем текст из клона
if (text.length > 60) text = text.slice(0, 60) + '...'
kide.insertSmile(`[QUOTE]${text}[/QUOTE]\n`); // ставляем текст в инпут
}
}
})
|
|

19.08.2023, 22:18
|
Профессор
|
|
Регистрация: 01.12.2020
Сообщений: 171
|
|
Добавил, что-то пошло не так
|
|

19.08.2023, 22:19
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,144
|
|
Ubivectel,
css добавил?
.KIDE_msg_top.swiped{ ...}
|
|

19.08.2023, 22:25
|
Профессор
|
|
Регистрация: 01.12.2020
Сообщений: 171
|
|
Ну вот сейчас добавил css, но класс и в инспекторе не появляется, и цитаты не вставляются 
|
|

19.08.2023, 22:32
|
 |
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,144
|
|
Ubivectel,
}, 300);
время увеличить попробуй
|
|
|
|