Плагин для отображения объектов поверх изображений

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

Теория.
Имеем какой-то блок, картинки внутри которого будут подвергаться нашему правилу. Каждую картинку в этом блоке оборачиваем в еще один блок с классом outofimg. Внутри нового блока создаем блок, который выступает в роли всплывающей подсказки. Если вы совсем запутались, то вот вам наглядный пример:

Плагин для отображения объектов поверх изображений
Плагин для отображения объектов поверх изображений
Плагин для отображения объектов поверх изображений

Чтобы реализовать это при помощи jQuery, для начала подключим его.

Создание html:
<div id="imgs">
<img src="1.png" alt="" />
<img src="2.png" alt="" />
</div>

Как было сказано. При наведении на изображения, находящиеся внутри определенного блока, всплывает подсказка. Другими словами, нам нужно выбрать все изображения, находящиеся в блоке (#imgs).

Скрипт, полностью рабочий с кодом выше:
$(function(){
var speed = 200; // Скорость анимации
var text = 'text'; // Текст, который бедт выводится при наведении курсора на картинку
$('#imgs') // В этом блоке находятся изображения, к которым будем применять свойства
.find('img') // Выбираем все картинки
.wrap('<div class="outofimg"></div>') // Помещаем их в блок .outofimg
.parent() // Выбираем блок .outofimg
.append('<div class="alertonimg">'+text+'</div>') // Внутрь вставляем блок с текстом
.hover(function(){ // При наведении курсора на блок .outofimg, запускается функция
$(this).find('.alertonimg').animate({opacity:'show'},speed); // Плавное появление блока с текстом
},function(){ // Когда убираем курсор с блока .outofimg, запускается функция
$(this).find('.alertonimg').animate({opacity:'hide'},speed); // Плавное исчезновение блока с текстом
})
.end();
});

На момент написания статьи, наш шаблон или что-то другое удаляет пробелы в code. Поэтому, для удобства, я выложил код: dumpz.org/19418

После этого, я пошел еще дальше. Написал плагин (банально AlertOnImg).

Для использование этого плагина, подключите его на страницу и объявите для определенного блока:
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.AlertOnImg.js" type="text/javascript"></script>
<script>
$(function(){
$('#imgs').AlertOnImg({
text:'text', // Текст всплывающей подсказки
speed:200 // Скорость появления всплывающей подсказки
});
});
</script>

В общем-то это все, что я хотел рассказать вам на данный момент. Если остались вопросы, задавайте.

Понравилась статья?

Подпишись на обновления через RSS.

Комментарии — 14 комментариев

  1. #9676 leron в 18:19, 19 мая 2010:

    как этот плагин установить на wordpress, подскажите пожалуйста?

  2. #9681 Евгений Поляков в 7:15, 22 мая 2010: (подписался)

    leron, это не совсем плагин, а подключается он через шаблоны.

  3. #9682 Евгений Жлобо в 7:47, 22 мая 2010:

    leron, подключаете jQuery, подключаете плагин. Теперь, узнаете блок, в котором картинки будут подвергаться всплывающему действию (например #a). В шапке шаблона вставляете скрипт:

    <script>

    $(function (){

    $('#a').AlertOnImg ({

    text:'text', // Текст всплывающей подсказки

    speed:200 // Скорость появления всплывающей подсказки

    });

    });</script>

  4. #9686 leron в 17:23, 22 мая 2010:

    можно более подробно, я немного недопонимаю куда что вставлять на wordpress.

  5. #9687 Алекс в 17:50, 22 мая 2010:

    Очень интересно, буду использовать в своей работе. Только написание скриптов у меня хромает. Но в статье все в принципе понятно.

  6. #9689 leron в 20:33, 22 мая 2010:

    блок указал content, но не работает к сожалению. не знаю как правильно установить на вордпрессе.

  7. #9691 Евгений Жлобо в 7:38, 23 мая 2010:

    leron, уберите все изменения и следуйте моей инструкции:

    Открываете шапку сайта (header.php);

    Ищите «</head>»;

    Замените ее на:

    <script src="http://bitby.net/wp-demo/files/jquery.js" type="text/javascript"></script>

    <script src="http://bitby.net/wp-demo/web/AlertOnImg/js/jquery.AlertOnImg.js" type="text/javascript"></script>

    <script>

    $(function (){

    $('#a').AlertOnImg ({ // #a — блок, в котором находятся картинки

    text:'text', // Текст всплывающей подсказки

    speed:200 // Скорость появления всплывающей подсказки

    });

    });

    </script>

    </head>

    Вот и все : ).

  8. #9692 Евгений Жлобо в 7:40, 23 мая 2010:

    Алекс, если нужно описание какого-нибудь скрипта, обращайтесь. Также, если нужен сам скрипт.

  9. #9693 leron в 10:22, 23 мая 2010:

    Евгений, сделал. все ровно не работает, как узнать блог где картинки находятся.

  10. #9694 Евгений Жлобо в 9:08, 24 мая 2010:

    В шаблоне должен быть этот блок. Давайте так, напишите мне в аську, я вам подробно все объясню =).

  11. #9715 денис в 23:01, 31 мая 2010: (подписался)

    а как же сделать так, чтобы вместа текста всплывала какая-то картинка?

  12. #9717 Евгений Жлобо в 14:23, 1 июня 2010:

    text:'text', // Текст всплывающей подсказки

    Замените на:

    text:'<img src="« alt=»"/>',

  13. #9728 денис в 19:01, 3 июня 2010: (подписался)

    благодарю, Евгений

  14. #10088 DuCoz в 9:54, 18 августа 2010:

    Уруто спасибо вам большое

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

имя:

e-mail:

сайт:

текст:

Подписаться, не комментируя