Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.04.2022, 16:33
Новичок на форуме
Отправить личное сообщение для zhsv007 Посмотреть профиль Найти все сообщения от zhsv007
 
Регистрация: 04.04.2022
Сообщений: 2

Вывод width и height у div при изменении его размера
Добрый день. Суть: создал небольшой скрипт по добавлению div с параметрами (цвет, размер) и свойствами перетаскивания, изменения размера.
Столкнулся с 2мя вопросами:
1. Когда меняю размер у div и отпускаю мышку метод функция stop у resizable выводит старые, предущие данные о ширине и высоте div. Как получить новые именно после изменения размера. Было бы здорово выводить их в процессе изменения размера, в реальном времени.
2. Когда к div применяю добавление или изменение текста (к примеру $("#id").text("текст"), то текст добавляется к div, но у него пропадает возможность изменения размера. С чем связано?
Ниже код и видео для наглядности :
1.
// Создание блоков. count - количество блоков
count = 0;
$(".createblock").click(function(){
randomColor = '#' + (Math.random().toString(16) + '000000').substring(2,8).toUpperCase();
count++;
// Описание блока
$("<div/>",{
id: "block"+count,
// text: count,
class: "newblock ui-widget-content",
css: {
background: randomColor,
"z-index": count,
"width": "100px",
"height": "100px"
},
on: {
'click': function(e){
$(".inputParams").attr("placeholder", e.target.id); //запись id блока в поле input
let colorRgb = $(this).css("background-color");
let colorHex = rgb2hex(colorRgb); // Перевод цвета в формат #XXXXXX
$(".codeColor").attr("placeholder", colorHex); //запись кода цвета #XXXXXX блока в поле input
setColorWell(e.target.id);
$("#spinner").spinner("value", $(this).css("z-index"));
setWHPar($(this).css("width"), $(this).css("height"));
}
},
appendTo: ".container"
});

// Добавление к блоку свойств перетаскивания, изменения размера
$(function() {
$("#block"+count).draggable({cursor:"move", containment:"parent"});
$("#block"+count).resizable({
handles: "all",
animate: true,
ghost: true,
animateEasing: "swing",
stop: function(event, ui) {
// $("#block"+count).text('Итоговые размеры: '+ui.size.width+', '+ui.size.height);
alert (ui.size.width + " " + ui.size.height);
//setWHPar($(this).css("width"), $(this).css("height"));
}


});
});
callCountBlocks(); //Вывод количества блоков в input
setWHPar($("#block"+count).css("width"), $("#block"+count).css("height")); // Вывод W и H в поля input
});

Здесь много лишнего (прошу прощения), просто мало ли вопрос по .resizable({ stop:}) является следствием неверного кода в другом месте.
Второй вопрос у меня появляется, если раскомментировать первую строку ф-ии stop по выводу текста в div.
Ссылки на видео: https://disk.yandex.ru/i/uEz_-NIhsEBxYw https://disk.yandex.ru/i/YfN55jMJ5b4Dew
Ответить с цитированием
  #2 (permalink)  
Старый 04.04.2022, 16:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

zhsv007,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 04.04.2022, 16:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от zhsv007
Как получить новые именно после изменения размера.
window.setTimeout(_ => alert (ui.size.width + " " + ui.size.height), 2000);


Сообщение от zhsv007
выводить их в процессе изменения размера,
resize: function(event, ui) {
out.textContent = ui.size.width + " " + ui.size.height;
Ответить с цитированием
  #4 (permalink)  
Старый 04.04.2022, 17:22
Новичок на форуме
Отправить личное сообщение для zhsv007 Посмотреть профиль Найти все сообщения от zhsv007
 
Регистрация: 04.04.2022
Сообщений: 2

Супер, спс Рони. Первый вопрос решен полностью, все работает!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При клике ссылки, открыть DIV блок, и при клике ещё раз, закрыть его Simon Общие вопросы Javascript 59 28.05.2017 17:31
при изменении размера div элементы съезжают gallyamov jQuery 5 22.08.2012 10:24
При нажатии на ссылку раскрываются все div anonimous jQuery 1 09.08.2012 14:49
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
Закрытие прозрачного div при щелчке мыши в любой его области mav1 Элементы интерфейса 8 09.02.2011 19:25