- Сообщения
- 2 057
- Реакции
- 1 220
Вообщем, сели мне тут на мозг, сделать сайт-одностраницу на Тильде. Про саму Тильду, давайте не будем, ибо каждый сходит с ума по-своему.
Столкнулся с такой штукой: когда начинаешь делать адаптацию страницы под разные размеры, в редакторе Тильды нет такого очевидного, казалось бы, инструмента как сброс значение свойств объекта на "по умолчанию".
В итоге, при выборе разного размера экрана приходится тыкать по каждому объекту, а затем в его настройках удалять все значения, типа, X, Y, width, height, размер шрифта и т.п., чтобы они сбрасывались в исходные значения, чтобы потом выделив скопом всё, можно было отмасштабировать быстренько под нужный размер, а дальше уже править как на душу ляжет.
Короч, написал на скору руку тупейший скрипт для violentmonkey (расширения для хромоподобных браузеров, будет, скорее всего, работать и в Tampermonkey - не проверял), вот код:
Ну, понятное дело, я максимальный индус в кодинге, но мне хотелось бы понять, почему нужно тыкать мышкой два раза в объект, чтобы код, всё-таки отработал нормальненько (см. видео).
На видео показано, что в интерфейс редактора тильды, встраивается кнопочка "R", при нажатии на которую, включается режим, где возможно, щёлкая мышкой по объектам, сбрасывать их значения. Но щёлкать приходится два раза, а это уже бя. Так как рядом у меня никаких программеров нет, приходится спрашивать здесь. Может, какой умненький веб-кодер, наведёт красоту в этом коде? В принципе, мне не лень мышкой щёлкнуть два раза, одна фигня, это быстрее, чем ручками, но если сделать правильно, то данным произведением можно поделиться с тильдо-сообществом: нам приятно, им хорошо, а в целом - удобняха, до которой создатели тильды, !"!№!";"%;, не могут снизойти. В реале, хотелось бы конечно, тупо нажатием одной кнопки сбрасывать значение у всех объектов на странице, но я постарел и поглупел =)
Столкнулся с такой штукой: когда начинаешь делать адаптацию страницы под разные размеры, в редакторе Тильды нет такого очевидного, казалось бы, инструмента как сброс значение свойств объекта на "по умолчанию".
В итоге, при выборе разного размера экрана приходится тыкать по каждому объекту, а затем в его настройках удалять все значения, типа, X, Y, width, height, размер шрифта и т.п., чтобы они сбрасывались в исходные значения, чтобы потом выделив скопом всё, можно было отмасштабировать быстренько под нужный размер, а дальше уже править как на душу ляжет.
Короч, написал на скору руку тупейший скрипт для violentmonkey (расширения для хромоподобных браузеров, будет, скорее всего, работать и в Tampermonkey - не проверял), вот код:
Код:
// ==UserScript==
// @name Тильда - кнопка вкл./выкл.
// @description сбрасываем значения выделеного текстового элемента в тильде при адаптации
// @match https://tilda.cc/zero/
// @grant none
// ==/UserScript==
var sss=false;
// создаем кнопку
$('body').prepend($('<style> .lsdbut { color: black; position: fixed; left: 68px; top: 20px; z-index: 99999; } .lsdbut:hover { color: red; } </style><button class="lsdbut">R</button>'));
// кнопка используется как выключатель
$(".lsdbut").click(function(e){
sss = !sss;
if (sss)
{ $('.lsdbut').css({'color': 'red'}); $('.tn-right-box').css({ 'background-color':'#f06847'}); }
else { $('.lsdbut').css({'color': 'black'}); $('.tn-right-box').css({ 'background-color':''});}
}); // ----------------------------------------------------------------------------------------
$("*").click(function(e){
/* если кнопку нажали, то так вам и надо*/
if (sss)
{
var element_selected;
e.stopPropagation();
let elementPointed = document.elementFromPoint(e.clientX, e.clientY);
element_selected = $(elementPointed).parent().attr('class')=='tn-atom' ? $(elementPointed).parent().parent().attr('id') : $(elementPointed).parent().attr('id');
try {
$('div[data-for-elem-id*="'+element_selected+'"] input[name*="fontsize"]').val("");
$('div[data-for-elem-id*="'+element_selected+'"] input[name*="fontsize"]').change();
$('div[data-for-elem-id*="'+element_selected+'"] input[name*="lineheight"]').val("");
$('div[data-for-elem-id*="'+element_selected+'"] input[name*="lineheight"]').change();
$('div[data-for-elem-id*="'+element_selected+'"] input[name*="letterspacing"]').val("");
$('div[data-for-elem-id*="'+element_selected+'"] input[name*="letterspacing"]').change();
$('div[data-for-elem-id*="'+element_selected+'"] input[name*="rotate"]').val("");
$('div[data-for-elem-id*="'+element_selected+'"] input[name*="rotate"]').change();
$('div[data-for-elem-id*="'+element_selected+'"] input[name*="height"]').val("");
$('div[data-for-elem-id*="'+element_selected+'"] input[name*="height"]').change();
}
catch (err)
{
$('div[data-for-elem-id*="'+element_selected+'"] input[name*="height"]').val("");
$('div[data-for-elem-id*="'+element_selected+'"] input[name*="height"]').change();
}
finally { // блок выполняется всегда
$('div[data-for-elem-id*="'+element_selected+'"] input[name*="left"]').val("");
$('div[data-for-elem-id*="'+element_selected+'"] input[name*="left"]').change();
$('div[data-for-elem-id*="'+element_selected+'"] input[name*="top"]').val("");
$('div[data-for-elem-id*="'+element_selected+'"] input[name*="top"]').change();
$('div[data-for-elem-id*="'+element_selected+'"] input[name*="width"]').val("");
$('div[data-for-elem-id*="'+element_selected+'"] input[name*="width"]').change();
}
} // if -------
}); // ----------------------------------------------------------------------------------------
На видео показано, что в интерфейс редактора тильды, встраивается кнопочка "R", при нажатии на которую, включается режим, где возможно, щёлкая мышкой по объектам, сбрасывать их значения. Но щёлкать приходится два раза, а это уже бя. Так как рядом у меня никаких программеров нет, приходится спрашивать здесь. Может, какой умненький веб-кодер, наведёт красоту в этом коде? В принципе, мне не лень мышкой щёлкнуть два раза, одна фигня, это быстрее, чем ручками, но если сделать правильно, то данным произведением можно поделиться с тильдо-сообществом: нам приятно, им хорошо, а в целом - удобняха, до которой создатели тильды, !"!№!";"%;, не могут снизойти. В реале, хотелось бы конечно, тупо нажатием одной кнопки сбрасывать значение у всех объектов на странице, но я постарел и поглупел =)
Последнее редактирование: