Увеличение фото на сайте по клику на jquery
При выводе большого количества фотографий на сайте следует размещать лишь их миниатюры, а при клике уже выводить изображение во всплывающем окне в полном размере. Проще всего реализовать такое увеличение при помощи библиотеки jquery и плагина «colorbox».
Чтобы не искать плагины по отдельности, предлагаю скачать их одним архивом, хотя лучше поискать свежие версии — они бесплатны. Архив содержит:
- «jQuery v2.0.3»;
- «Colorbox v1.4.31»;
Пример работы:
Подключение
Для подключения скачиваем архив, распаковываем и загружаем на сайт. Затем в коде шаблона (например, перед закрывающимся тегом body) размещаем:
<script src="/plugins/jquery.min.js"></script>
<script src="/plugins/colorbox/jquery.colorbox-min.js"></script>
<link rel="stylesheet" type="text/css" href="/plugins/colorbox/example5/colorbox.css">
<script>
$(function(){
$("a.colorbox").colorbox({current:"Фото {current} из {total}"});
});
</script>
Изображения на странице должны содержать такую разметку:
<a class="colorbox" data-fancybox="group-1" href="/images/1.jpg" >
<img src="/images/1.jpg" />
</a>
Ключевыми свойствами здесь является класс «colorbox» и атрибут «data-fancybox="group-1"». Класс указывает скрипту, при нажатии на какие ссылки нужно увеличивать внутреннюю картинку, а атрибут «rel» позволит во всплывающем окне листать все изображения одинаковым значением.
«Colorbox» можно вызывать с параметрами. Чтобы большие всплывающее изображение не вылазило за пределы экрана экрана, укажите процентные значения для максимальной ширины и высоты. Так же можно настраивать прозрачность фона, формат надписи под изображением и другое.
$("a[rel='colorbox']").colorbox({
maxWidth:"90%",
maxHeight:"90%",
opacity:"0.7",
current: "изображение {current} из {total}"
});
Что делать если не заработало:
- Проверьте правильность путей к плагинам.
- Убедитесь что jquery библиотека подключена один раз.
- Попробуйте поискать свежие версии плагинов и jquery библиотеки.
- Плагин может не работать в CMS Joomla, так как jquery часто конфликтует с фреймворком Mootools.
Автоматическое всплытие
Иногда требуется открыть всплывающее окно при нажатии на обычный текст или при наведении мыши на определённый блок сайта. Это можно сделать с помощью обращения к «colorbox» с параметром «href».
$.colorbox({
href: "/images/hello.jpg",
});
Этот код может быть вызыван внутри любого javascript события. Его вызов приведёт к всплытию окна с изображением «hello.jpg».
Вертикальный слайдер для сайта
Slick — лучший адаптивный слайдер для сайта
Плагин jquery для показа и скрытия элементов по клику
События onmouseover и onmouseout в javascript и jQuery
Вставляем PDF на сайт для просмотра со страницы
Какой движок лучше выбирать для сайта
Спасибо огромное! С первого раза все получилось как нужно!
в консоли такие ошибки:
Uncaught TypeError: $(...).lazyload is not a function(anonymous function)
@ perevozka-spectehniki:538o
@ jquery-1.7.2.min.js:3p.fireWith
@ jquery-1.7.2.min.js:3e.extend.ready
@ jquery-1.7.2.min.js:3c.addEventListener.B @ jquery-1.7.2.min.js:3
$("img").lazyload({effect:"fadeIn"});Если не поможет, значит с подключенным jquery что-то не так.но нету кнопок переключения между изображениями. выводится одна картинка и с управления только крестик — скажите как сделать чтоб были стрелочки когда 2 и больше картинок
Пятерка автору золотая!
http://bahily-biznes.ru/
$("a[rel='colorbox']").fancybox();Как код может влиять на Гугловскую рекапчу не могу представить.Спасибо большое за Ваш материал.
Мне он помог.