Как сделать плавное увеличение картинки при клике.

Статья последний раз была обновлена 04.03.2023







Как сделать плавное увеличение картинки при клике.

Автор: Андрей Краснокутский

Дата: 2011-08-06

Кликаем по картинке и она плавно увеличивается в размерах.

Одно из новшеств современного веб-дизайна – это применение на сайте модальных окон, наверняка Вы уже неоднократно видели такой эффект: картинка (фотография, изображение, рисунок и т.д.) при клике по ней, открывается в отдельном окне, на затененном фоне. Смотрится очень эффектно. Поэтому и называется такой эффект – модальные окна. Ниже приведен пример использования Модального окна. Кликните по картинке ниже.

Реализуется подобный эффект с помощью JavaScript , а точнее с помощью jQuery . Поэтому для правильного отображения модальных окон, в Ваших браузерах обязательно должна быть включена поддержка сценариев "JavaScript" — обязательно это проверьте. В IE JavaScript включается здесь: Сервис / Свойства обозревателя / далее Кнопка: Другой / Выполнять сценарии приложения Java / Включить.

 

Модальное окно для изображения.

Для реализации модального окна, нам понадобится изображения одной картинки, но 2-х разных размеров (уменьшенное и большое, то которое будет открыться в модальном окне). О подготовке графических файлов, я уже рассказывал ранее в статье: Как подготовить изображение для сайта. Считаем что эти графические файлы у Вас уже есть. У меня это два разных файла:   sait180.jpg и sait600.jpg , размеры этих файлов соответственно: 180×113 и 600×375 пикселей. Размеры взяты примерные и у Вас эти размеры могут отличаться. Картинка взята случайным образом (первая попавшаяся), чисто для примера.

Положите эти файлы в папку, в которой у Вас на сайте лежат все изображения на сайте, обычно это папка images или img. Для ясности считаем что это папка images.

Теперь скачайте архив со скриптами. После распаковки архива папку с названием "fancybox" скопируйте и положите в «корневую» папку сайта.  Открываем HTML-документ, в который мы будем монтировать модальные окна и вставляем между тегами  <head> и </head>  следующий код Листинг 1:

Листинг 1.

<link rel="stylesheet" type="text/css" href="fancybox/jquery.fancybox.css">

<script type="text/javascript" src="fancybox/jquery-1.3.2.min.js"></script>

<script type="text/javascript" src="fancybox/jquery.easing.1.3.js"></script>

<script type="text/javascript" src="fancybox/jquery.fancybox-1.2.1.pack.js"></script>

<script type="text/javascript">

$(document).ready(function() {

$("a.first").fancybox();

$("a.two").fancybox();

$("a.video").fancybox({"frameWidth":520,"frameHeight":400});

$("a.content").fancybox({"frameWidth":600,"frameHeight":300});

});

</script>

 

Хотя этот код не привередлив и его можно прописать и в другом месте web-страницы, работать будет, но всетаки, лучше между <head> и </head>.



Первая строка:
<link rel="stylesheet" type="text/css" href="fancybox/jquery.fancybox.css">— это подключение таблицы стилей CSS, которая лежит в папке "fancybox".

Три последующие — это "яваскрипты".

Далее идёт скрипт управления элементами, которые мы будем монтировать, а именно: одиночная картинка, группа изображений, видео и контент соответственно.

В этом уроке мы научимся делать модальные окна из одной картинки и из группы картинок. А в следующих уроках разберемся как втавлять в модальные окна видео и контент. Поэтому сильно не заморачивайтесь, а вставляйте код Листинга 1 в код web-страницы между <head> и </head> и идем дальше.

Опускаемся ниже по коду и в то место web-страницы, где Вы хотите вставить маленькое изображение, при нажатии на которое будет открываться модальное окно, прописываем следующий код Листинг 2.

Листинг 2.

<div align="center">

<a class="first" title="Сайт фантазия" href="images/sait600.jpg"><img src="images/sait180.jpg"></a>

</div>

 

Не забудьте изменить параметры title и прописать путь до своих реальных файлов.

Вот собственного говоря и все. Обновляем web-страничку на сервере и радуемся полученным результатам. Еще раз смотрим, что у нас получилось:

Конечно картинки здесь будут Ваши. С одиночной картинкой разобрались, теперь разберемся с группой изображений.

 

Модальные окна для нескольких изображений.

Давайте сначала посмотрим конечный результат, который у нас должен получиться. Кликайте по изображениям:



Процесс подготовки изображений, такой же как и одиночном примере, т.е. каждое изображение должно быть 2-х размеров: маленького формата и большого формата. Все эти изображения тоже ложим в папку images. С подключением Скриптов мы разобрались выше, смотрите  Листинг 1.

В том месте web-страницы, где Вы хотите вывести группу изображений, вставляем код Листинга 3.

Листинг 3.

<div align="center">



<a class="two" rel="group" title="Глубоководные рыбы" href="images/okon600.jpg"><img src="images/okon180.jpg" /></a>



<a class="two" rel="group" title="Пещерные рыбы" href="images/kit600.jpg"><img src="images/kit180.jpg" /></a>



<a class="two" rel="group" title="Чудные рыбы" href="images/som600.jpg"><img src="images/som180.jpg" /></a>



</div>

 

И вот что получаем в итоге, еще раз смотрим на результат:



Согласитесь, симпатично получилось. И как Вы убедились, сделать такие окна совсем не сложно. Кстати в открытых модальных окнах по бокам появляются стрелочки (при наведении мышки) для перехода к следующей картинке.

P.S. В Листинге 3 прописано три картинки, но как Вы наверное уже поняли, прописать таких картинок можно сколько угодно, просто добавляя новую строчку кода:

<a class="two" rel="group" title="Первая картинка группы" href="images/moon600.jpg"><img src="images/moon180.jpg" /></a> для каждой новой картинки. И конечно же нужно указать реальный путь до картинки и имя графических файлов.

Всего Вам доброго.

 

Читайте так же другие наши материалы.

Устанавливаем Флеш часы на сайт.

Фоновые изображения для сайта в стиле Мрамор.

Как сделать Скриншот (снимок) с экрана монитора нужного размера?

Сайт своими руками за 9 часов 45 минут!

Как издать (выпустить) собственную электронную книгу?

 

Просмотров: 22629

Комментарии к этой заметке:

Комментарии добавил(а): Андрей
Дата: 2011-08-07

А как вам такое представление картинок в мини слайд шоу http://auto-schol.by/Brabus_Mercedes-Benz-E-Class-Cabriolet.html Есть возможность увидеть все картинки в мини, при нажатии на цент картинки появляется в натуральную величину…

Комментарии добавил(а): Александр
Дата: 2011-08-07

Как всегда всё на высшем уровне, Вы Андрей настоящий кландайк знания!

С уважением Александр.

Комментарии добавил(а): Олег Гузь
Дата: 2011-08-07

Здорово, Андрей! Мне понравилось!

Комментарии добавил(а): Нина
Дата: 2011-08-08

Здавсвуйте.Не знаю чл получися у меня, но у вас на сайте при нажатии на картинку которую вы приводите в качестве примера ничего не происходит,кроме того что темнеет экран манитора и комп зависает

Комментарии добавил(а): Александр
Дата: 2011-08-08

Все отлично. Буду пробовать вставлять свои картинки.

Комментарии добавил(а): Антон
Дата: 2011-08-09

Здорово, у меня все классно работает, спасибо Андрей большой вам респект и успехов

Комментарии добавил(а): Нина
Дата: 2011-08-09

Отличая галерея для браузеров опера и фиркфокс-всё как по маслу. Но я проверила через IE-6 IE-7 и Vistu.В них этот скрипт не рабоет.Я в инет всегда выхожу через IE-7, так сразу видно у кого какое качество сайта,и вижу на некоторых сайтах более сложные галереи.

Комментарии добавил(а): Нина
Дата: 2011-08-09

Как бы сделать такую галерею, как здесь http://www.zecho.ru/ да что бы она работала во всех браузерах?

Комментарии добавил(а): АндрейК
Дата: 2011-08-10

Нина Вы путаете, это не скрипт галереи, а скрипт модальных окон. Это абсолютно разные вещи и выполняют они разные задачи. И конечно же реализуются тоже по разному.

Комментарии добавил(а): Вячеслав
Дата: 2011-08-15

Спасибо, Андрей! Есть вопрос: изменение фона картинки не здесь ли Папка: fancybox -> Файл: jquery.fancybox.css -> Строка: background-color: #666;

Комментарии добавил(а): mery
Дата: 2011-08-15

Супер, работает без проблем. Спасибо за предоставленное готовое решение! Всех благ автору!

Комментарии добавил(а): Инга
Дата: 2011-08-19

Подскажите, плиз, а какой параметр затемняет экран, хочется немного темнее сделать фон за модальным окном.

Комментарии добавил(а): TigerBUK
Дата: 2011-09-13

Приветствую!
Всё чётко и понятно.
Ты анонсировал что расскажешь как вставить ВИДЕО в такое вот окошко. Очень хотелось бы посмотреть!

Комментарии добавил(а): Роман
Дата: 2011-10-04

Андрей, спасибо огромное за хороший урок. но у меня вопрос. все картинки работают, но мне надо как то поменять код, что бы изначально картинки были не в центре экрана, а на тех заранее запланированных мной местах, куда я их расставил. как это можно сделать?

Комментарии добавил(а): Роман
Дата: 2011-10-04

прошу прощения за беспокойство. все, разобрался что к чему. огромное спасибо еще раз.

Комментарии добавил(а): Вячеслав
Дата: 2011-10-09

Великолепно!!!

Комментарии добавил(а): qwinmen
Дата: 2011-10-12

Спасибо.

Комментарии добавил(а): Юрий
Дата: 2011-10-18

Доброго времени суток. Ситуация такая: мне необходимо сделать, чтобы увеличенная картинка приобретала свои истинные размеры, а не вписывалась по высоте экрана. Как это сделать?

Комментарии добавил(а): NextIM
Дата: 2011-11-16

как увеличивать картинки не прописывая их в коде? картинка загружается пользователем в папку через сайт и эта картинка должна увеличиваться…

Комментарии добавил(а): Максим
Дата: 2011-11-25

Автору кода респект. отлично . и понятно без глюков

Комментарии добавил(а): АндрейК
Дата: 2011-11-25

Максим я согласен с Вами, авторам большой респект, но я не автор, а всего лишь рассказываю на доступном языке как использовать библиотеку jQuery. А про Авторов здесь: http://www.luksweb.ru/view_post.php?id=274

Комментарии добавил(а): Александр
Дата: 2011-11-26

Андрей, ну что я могу сказать:) Респект и уважуха! Все работает отлично.

Комментарии добавил(а): Дмитрий
Дата: 2011-12-02

Спасибо вам огромное!) очень выручили, все отлично работает

Комментарии добавил(а): Евгений
Дата: 2011-12-12

Похоже я тупее всех… знаю 3 прекрасные кнопки "Сtrl+C" и "Сtrl+V". Пользуюсь ими в совершенстве…
При нажатии на маленькую картинку, экран темнеет появляется маленькое окошко, а в нем вместо большой картинки высвечивается опять мой сайт.
Если ввести адреса картинок в браузере, они открываются.

Комментарии добавил(а): Юрий
Дата: 2011-12-13

Вопрос. Почему в IE не рабботает? Всплывающее окно просто белое — картинки нет.

Комментарии добавил(а): АндрейК
Дата: 2011-12-13

Работает во всех браузерах, и в IE тоже, скорее всего Вы где то допустили ошибку

Комментарии добавил(а): Ирина
Дата: 2012-01-09

я сделала, как у Вас написано, но у меня ничего не получается. Картинка открывается в в этом же окне и во весь экран и не перелистывает

Комментарии добавил(а): Алена
Дата: 2012-01-11

У меня картинки открываются в том же фрейме, только в новом окне.. А как в Вашем примере — не выходит.. Что не так??

Комментарии добавил(а): Федор
Дата: 2012-02-05

Крутотень класная, пять минут разобраться. Хорошо что скрипты писать не надо. Для новичков — таких как я самое то!!!

Комментарии добавил(а): Александр
Дата: 2012-02-09

подскажите пожалуйста , почему картинка закрывается при нажатии на любое место??? и где найти урок про видео?

Комментарии добавил(а): Наталья
Дата: 2012-01-27

Огромное спасибо за скрипт!! Искала-искала, а тут все так понятно и просто! Еще раз спасибо.

Комментарии добавил(а): Наталья
Дата: 2012-01-27

"Вопрос. Почему в IE не рабботает? Всплывающее окно просто белое — картинки нет."
Такая же фигня была. Нужно включить все что относиться к Java и еще нажать кнопочку, которая находиться справа в строке поиска и выглядит как разорванный лист. После этого все заработало.

Комментарии добавил(а): Юрий
Дата: 2012-03-13

Спасибо, все работает отлично, вопрос только один, почему когда я применяю этот урок "Как сделать плавное увеличение картинки при клике" и ваш урок "Галерея изображений с плавно меняющимися картинками" на одной странице сайта плавное увеличение картинки не получается, работает нормально только "Плавно меняющиеся картинки", не получается, чтоб работало все?

Комментарии добавил(а): Ольга
Дата: 2012-03-26

Спасибо за чудесный скрипт, только я столкнулась с небольшой проблемой, помогите, пожалуйста, ее решить. Сделала групповые картинки (штук 6), локально все работает, но на сайте первые 2 не открываются (крутится загрузка и все), а начиная с 3-ей все нормально. Как это исправить 🙁

Комментарии добавил(а): АндрейК
Дата: 2012-03-26

Ольга, скорее всего у Вас проблема с указанем места где лежат картинки, т.е. проверьте путь до графических файлов, имена файлов, регистры написания (верхний/нижний).

Комментарии добавил(а): Ольга
Дата: 2012-03-27

АндрейК, спасибо, что так быстро откликнулись) Путь и имена файлов прописаны правильно… Эти картинки у меня в таблице, т.е. таблица из 4-х колонок, в первой ячейке фотка, во второй описание, в третей фотка, в четвертой описание. Так вот, эти две фотки и не отображаются, а дальше уже нормально. Может это быть из-за таблицы?

Комментарии добавил(а): Ксения
Дата: 2012-04-08

СУУУУУПЕР!!! Мне оч понравилось. просто класс!!!

Комментарии добавил(а): Ярослав
Дата: 2012-04-09

Спасибо. Все очень доступно описано. У меня благодаря вам все получилось. Еще рас спасибо.

Комментарии добавил(а): rakegent@mail.ru
Дата: 2012-05-26

блин не разобрался,

Комментарии добавил(а): Дмитрий
Дата: 2012-06-17

Ваш материал рулит! Информативно, классно, доступно, а главное — эффективно.
+

Комментарии добавил(а): Сергей
Дата: 2012-06-20

Спасибо огромное, для меня это первый "скрип", но нужна помощь! На станичнике разместил несколько "Модальных окон" в разных таблицах, с разным направлении и смыслом в фотографиях по 3шт. При просмотре просматриваются не только нужные 3 фотки, но и все остальные с других "Модальных окон".

Комментарии добавил(а): Татьяна
Дата: 2012-06-20

Спасибо,всё получилось, только почему-то нет стрелочки,которая листает на следующее изображение…

Комментарии добавил(а): Татьяна
Дата: 2012-06-22

А,простите,это я не так сделала: у меня каждая картинка лежит в отдельной ячейке, поэтому и стрелочки не было. Если сделать без таблицы — всё чудесно работает. Спасибо!!!

Комментарии добавил(а): Владимир
Дата: 2012-07-07

Все супер, автору респект, благодаря таким людям, как Вы хочется двигаться дальше в познаниях неизвестного, спасибо!

Комментарии добавил(а): 111
Дата: 2012-07-19

спасибо! все получилось только в IE не получается экран становится серым и все(((( не подскажете почему

Комментарии добавил(а): генадий
Дата: 2012-07-31

можно ли чтоб на увеличенной картинки вставить текст?

Комментарии добавил(а): АндрейК
Дата: 2012-08-01

Генадий, конкретно в этом скрипте вставить текст поверх картинки нельзя. Но кто Вам мешает нанести текст например в фотошопе на увеличенную картинку и получите тот же эффект.

Комментарии добавил(а): Дмитрий
Дата: 2012-11-19

А подскажите, почему не отображаются эл-ты навигации на увеличенной картинке(закрыть, пред, след) и тайтл без рамки и фона ?

Комментарии добавил(а): DocSK
Дата: 2012-08-15

Проверьте автоопределение кодировки в chrome. Еще плохо читается листинг кода

Комментарии добавил(а): Роман
Дата: 2012-09-03

Подскажите почему может не отображаться title картинок при открытии, css такой же, только вот javascript подключаю на странице где эти картинке (не между head, а в body)

Комментарии добавил(а): Тема
Дата: 2012-09-27

А на укоз то пойдет? поставил и не работает открывается картинка сама((
Может что не так с путями внутри архива?

Комментарии добавил(а): Тимур
Дата: 2012-10-01

АндрейК подскажите пожалуйста решение проблемы.Увеличенная картинка открывается не в модальном окне,а на всю страницу,без перехода к другим картинкам,заранее спасибо!

Комментарии добавил(а): АндрейК
Дата: 2012-10-02

Тимур, заочно трудно диагностировать проблему, тем более имея так мало информации, но одно могу сказать точно: Вы где то допустили ошибку. Обратите внимание на синтаксис, правильные пути и наличие всех файлов скрипта.

Комментарии добавил(а): Владимир
Дата: 2012-10-16

Андрей, просто большое спасибо, выставил в инет — все замечательно работает! По Вашим пояснениям все доходчиво понятно, даже мне пенсионеру на седьмом десятке, приходится тащить сайт организации. С уважением Владимир.

Комментарии добавил(а): АндрейК
Дата: 2012-10-12

Владимир, ошибка скорее всего в пути до большой картинки, заочно точнее сказать трудно, но Вы где-то ошиблись.

Комментарии добавил(а): Владимир
Дата: 2012-10-12

при клике на маленькую картинку выплывает пустое большое окно без картинки. В чем проблема??? Пока файлы не выставлял в инет.

Комментарии добавил(а): Елена
Дата: 2012-10-13

Андрей, спасибо большое за скрипт. Всё работает. Подскажите есть ли тот следующий урок, в котором Вы обещали рассказать как вставлять в модальные окна видео и контент?

Комментарии добавил(а): Вальдемар
Дата: 2012-11-01

К сожалению, те файлы которые Вы (автор) выложили, они не работают в IE 8.0 (отображается пустое окно, без картинки). Все пути к файлам проверены и мало того, тот же скрипт работает во всех других браузерах и там отображает картинку.
Я проверил 4 популярных браузера, и только в IE 8.0 такая проблема. Но самое интересное, что пример который показан в начале этой статьи, работает. Она отображается и в IE 8.0
Автор, подскажите, в чем проблема, или выложите, пожалуйста, рабочие файлы.

Комментарии добавил(а): АндрейК
Дата: 2012-11-01

Вальдемар. Скрипт и все файлы выложенные выше полностью рабочие, причем абсолютно во всех браузерах, в том числе и в IE8.0. Если у вас что то не получается ознакомтесь с информацией здесь: http://www.luksweb.ru/view_post.php?id=335

Комментарии добавил(а): Вальдемар
Дата: 2012-11-02

Знаете, я бы с радостью с Вами согласился. Да вот беда.
Я выложил Ваши файлы (урок) полностью на чистый ФТП и домен сайта и запустил в разных браузерах. И во всех браузерах картинка увеличенная отображается, а вот в IE 8.0 — нет. Можете и сами в єтом убедиться — http://free.selcet.com.ua/

Комментарии добавил(а): АндрейК
Дата: 2012-11-02

Вальдемар. Посмотрел в браузере IE8, версия 8.0.6001.18702. Все работает замечательно, кроме кодировки, но это не относится к работе скрипта. А соглашаться или нет со мной — это ваше полное право.

Комментарии добавил(а): Надежда
Дата: 2012-11-06

Просто супер. Редко встречаешь, когда все понятно, и главное работает)))

Комментарии добавил(а): Ольга
Дата: 2012-11-14

Большое спасибо за урок! в IE 8.0 всё работает, подтверждаю.
Андрей, не подскажете, а можно сделать так, что бы стрелка для переключения след. картинки всегда отражалась бы на картинке, а не только когда на нее наведена мышка?
Заранее спасибо!

Комментарии добавил(а): Людмила
Дата: 2012-12-01

Спасибо! Все работает!
Поддерживаю Ольгу, неплохо былобы чтобы стрелка для переключения всегда отображалась.
как это сделать?
puf593@gmail.com
Спасибо!

Комментарии добавил(а): Борис
Дата: 2012-12-07

Прикольно. Спасибо у меня все вышло здорово.

Комментарии добавил(а): Олег
Дата: 2012-12-09

Большое спасибо! Работает безупречно! Давно хотел такой эффект, благодаря Вам получилось! Браво!!!

Комментарии добавил(а): Виктор
Дата: 2012-12-15

Спасибо за скрипт, всё работает, долго искал похожее, но вот есть проблема, почему то картинка открывается в окне, а не так как у вас, поверх окна.

Комментарии добавил(а): Виктор
Дата: 2012-12-15

Всё получилось, пропустил скобку >

Комментарии добавил(а): Виктор
Дата: 2012-12-26

Подскажите, где ошибся. Картинки открываются не в всплывающем окне, а на отдельной странице.

Комментарии добавил(а): Алексей
Дата: 2013-01-06

Такая же проблема. Открываются в отдельном окне, а не во всплывающем. Вроде все делаю правильно, а не помогает. Несколько скриптов пробовал, но проблема остается. Получается javascript не работает, что ли.. В чем проблема, кто подскажет?

Комментарии добавил(а): Алекс
Дата: 2013-01-06

Большое спасибо. Все просто и понятно!!!!

Комментарии добавил(а): Виктор
Дата: 2013-01-10

Листинг не вставляется в шаблон, cms ругается

Добавить Ваш комментарий:

Ваше имя:

Текст комментария:

Введите сумму чисел с картинки:




http://www.luksweb.ru/view_post.php?id=273

Губарь Маргарита Александровна