Как сделать плавное увеличение картинки при клике. Автор: Андрей Краснокутский Дата: 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 ругается Добавить Ваш комментарий: Ваше имя: Текст комментария: Введите сумму чисел с картинки: |