Первое с чего стоит начать это подключение JQuery, качаем тут(внешняя ссылка).
Второй шаг подключение jQuery UI - это очень полезная надстройка над JQuery, в данном случае нам необходим виджет Slider. Скачать его можно здесь(внешняя ссылка), главное не забудьте убрать (Deselect all). Все остальные галочки кроме Slider и UI Core, иначе рискуете получить огромный и бесполезный (для данного урока) файл.
В архиве присутствует все необходимое, но все-таки я рекомендую для тестирования использовать мой архив, в котором уже проведена работа по его очистки от лишних стилей и прочих демонстративных файлов.
Подключаем:
Код: Выделить всё
<link type="text/css" href="css/slider.css" rel="stylesheet" />
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.7.2.custom.min.js"></script>
Два элемента формы input, в которых будут выводиться данные о размере картинки, а точнее ширина и высота:
Код: Выделить всё
<label for="amount">Width:</label>
<input type="text" id="amount" value="" style="border:0; width:30px;
color:#f6931f; font-weight:bold;" />
<label for="amount2">Height:</label>
<input type="text" id="amount2" value="" style="border:0; width:30px;
color:#f6931f; font-weight:bold;" />
Код: Выделить всё
<div id="slider" style="height:6px; width:220px; "></div>
Код: Выделить всё
<div id="images" style="margin-top:40px"><img src="images/anna.jpg"
width="333" height="500" /></div>
Теперь сам JQuery:
Код: Выделить всё
<script type="text/javascript">
$(function() {
var width = $("#images img").attr("width");
var height = $("#images img").attr("height");
z = width/height;
$("#slider").slider({
orientation: "horizontal",
min: 100,
max: 666,
value: width,
slide: function(event, ui) {
y = Math.round(ui.value/z);
$("#amount").val(ui.value);
$("#amount2").val(y);
$('#images img').width(ui.value);
$('#images img').height(y);
}
});
$("#amount").attr('value',width);
$("#amount2").attr('value',height);
});
</script>
Код: Выделить всё
var width = $("#images img").attr("width");
var height = $("#images img").attr("height");
Код: Выделить всё
z = width/height;
Код: Выделить всё
$("#slider").slider({
Код: Выделить всё
orientation: "horizontal",
min: 100,
max: 666,
value: width,
orientation – положение на странице, может принимать два значения "horizontal" и "vertical"
min и max - минимальное и максимальное значения шкалы (задать можно любое, при реальном использовании на сайте рекомендую привязать его к максимальному размеру картинки)
value - определяет первоначальное положение бегунка, присваиваем ему значение переменной width (а вообще это может быть любое числовое значение в пределах min и max)
Код: Выделить всё
slide: function(event, ui) {
Код: Выделить всё
y = Math.round(ui.value/z);
Код: Выделить всё
$("#amount").val(ui.value);
$("#amount2").val(y);
Код: Выделить всё
$('#images img').width(ui.value);
$('#images img').height(y);
Код: Выделить всё
$("#amount").attr('value',width);
$("#amount2").attr('value',height);
При желании можно добавить немного php кода, для получения данных о размере фото при ее загрузки и тогда получиться довольно универсальный скрипт.
Собственно все, спасибо за внимание, надеюсь урок вам пригодиться.
Урок от нашего читателя - Максима Чагина. В источнике к уроку просил указать, видимо, его сайт.
Данный урок подготовлен для Вас командой сайта http://ruseller.com