Принцип использования: наводим курсор мыши на определенную область (правый нижний угол), удерживаем кнопку мыши и растягиваем изображение по горизонтали и вертикали. Изображение можно как увеличивать, так и уменьшать в размерах. HTML-код, используемый для работы скрипта:


<div class="resize-picture" style="width: 400px; height: 200px;">
  <img src="images/image1.jpg" id="image1" style="width:400px;height:200px">

  <div class="corner" onmousedown="resize(this,event)"><img src="images/corner.png" /> </div>
</div>

Итак, на веб-странице появляются 2 изображения - картинка, которая будет изменяться в размерах(image1.jpg), и картинка с изображением уголка (corner.jpg), перетаскивание которого изменяет размер картинки "image1". Примечание: обе картинки расположены в папки images! Далее минимальный код CSS:


.resize-picture {
	position: relative;
	border: dashed 1px;
}

.resize-picture img {
	position: relative;
	display: block;
}

/* угол изображения */
.corner {
	position: absolute;
	width: 20px;
	height: 20px;
	bottom: 0;
	right: 0;
	cursor: se-resize;
	display: block;
}

.corner img {
	position: relative;
	width: 20px;
	height: 20px;
	border: none;
	display: block;
}

Скрипт, выполняющий действия с изображениями:


function resize (corner, event) {
	if (document.addEventListener) {
		document.addEventListener ("mousemove",moveCorner,true);
		document.addEventListener ("mouseup",upCorner,true);
	}
	else if (document.attachEvent) {
		corner.setCapture();
		corner.attachEvent("onmoosemove",moveCorner);
		corner.attachEvent("onmouseup",upCorner);

		corner.attachEvent("onlosecapture",upCorner);
	}

	if (event.stopPropagation) event.stopPropagation();
	else event.cancelBubble = true;

	if (event.preventDefault) event.preventDefault();
	else event.returnValue = false;
}

function moveCorner(e) {
	if (!e) e = window.event;
	var resize_pic = document.getElementById("image1");
	var container = document.getElementById("container");

	container.style.width = (e.clientX - container.offsetLeft) + "px";
	container.style.height = (e.clientY - container.offsetTop) + "px";

	resize_pic.style.width = container.style.width;
	resize_pic.style.height = container.style.height;

	if (e.stopPropagation) e.stopPropagation();
	else e.cancelBubble = true;
}

function upCorner(e) {
	if (!e) e = window.event;

	if (document.removeEventListener) {
		document.removeEventListener("mouseup",upCorner,true);
		document.removeEventListener("mousemove",moveCorner,true);
	}
	else if (document.detachEvent) {
		corner.detachEvent("onlosecapture",upCorner);
		corner.detachEvent("onmouseup",upCorner);
		corner.detachEvent("onmousemove",moveCorner);
		corner.releaseCapture();
	}

	if (e.stopPropagation) e.stopPropagation();
	else e.cancelBubble = true;
}

Для заказа дополнительных модулей, доработок и кастомизации данного скрипта - эл.адрес автора: freeden_codomaza@mail.ru

Комментарии

captcha
 30 апр. 2013 Ответить

Chrome. У меня не работает.

 10 сент. 2013 Ответить

Надо к примеру прикреплять файл с исходниками! Или хотя бы демо режим сделать.

 20 июн. 2014 Ответить

Что бы пример был рабочий в первый div добавьте атрибут id="container". Автор похоже просто забыл об этом.


Что такое облачное хранилище и как им пользоваться? Что такое облачное хранилище и как им пользоваться?
Как выбрать пластины для теплообменника? Пластины для теплообменника
Изучение языка ECMAScript: основа современной веб-разработки История языка ECMAScript
Как добавить комментарий в HTML? HTML примеры
Apple позволит разработчикам распространять приложения напрямую с их сайтов Apple позволит разработчикам распространять приложения напрямую с их сайтов
jQuery 4.0 сокращает поддержку браузеров, удаляет API Новое в jQuery 4.0
Как продвинуть Telegram-канал: с нуля до результата Как продвинуть канал в Telegram с нуля?
Получить IT профессию с нуля: академия Eduson Получить IT профессию с нуля
Перспективы эволюции SEO: встречайте будущее продвижения в поисковых системах Будущее SEO-продвижения
Создание сайтов в Алматы: агентство site-promote.com Разработка сайта компании
Антипкин Михаил Сергеевич о метавселенной, открывающей безграничные возможности для инноваций и экспериментов Антипкин Михаил Сергеевич о метавселенной
Сёрфинг с браузером FraudFox: исчерпывающее руководство Сёрфинг с браузером FraudFox
Где найти лицензионные ключи активации к ПО? Где найти лицензионные ключи активации к ПО?
Курсы веб дизайна: обучение онлайн Курсы веб дизайна: обучение онлайн
Как продлить срок службы бытовой техники? Как продлить срок службы бытовой техники?
Основы VPS/VDS: что нужно знать перед арендой? Основы VPS/VDS: что нужно знать перед арендой?
Откройте для себя азарт Mostbet KZ - ведущего онлайн-казино для геймеров Откройте для себя азарт Mostbet KZ - ведущего онлайн-казино для геймеров
Топ-10 игр для Android стоимостью менее $5 Топ-10 игр для Android стоимостью менее $5
Проверка авто в базе ГИБДД перед покупкой Проверка авто в базе ГИБДД перед покупкой
Бизнес-психология в онлайн-институте Smart Бизнес-психология в онлайн-институте Smart