Очень часто на сайтах необходимо привлечь внимание к какой-то информации. Причем нужно чтобы это было сквозняком на всех страницах, но встраивать это в шапку или ещё куда-нибудь в тело не хочется.
Вообщем, две противоречивые задачи: нужно чтобы было заметно, но при этом ненавязчиво.
И вот тут нам на помощь приходят выезжающие (скользящие) блоки. Впрочем, Вы с ними прекрасно знакомы.
На моем сайте aloris.ru этот блок применяется для того чтобы отправить оптовиков на корпоративный сайт:
Разберёмся как это работает.
Вот так блок будет выглядеть в закрытом положении:
Итак, приступим.
Прежде всего, нужно в фотошопе нарисовать подложку нашего блока в стиле нашего сайта. Моя подложка выглядит вот так:
Далее в index.php шаблона создаем разметку нашего блока и сразу вписываем текст нашего объявления:
<div class="doska"> <span class="openSale" href="#"></span> <div class="saleContent"> <div id="d1"> <span>Если Вы являетесь участником<br/> Российского ювелирного рынка<br/> (представляете магазины, салоны) - <br/> приглашаем Вас на сайт <br/><a rel="nofollow" target="_blank" title="Магазинам, салонам" href="http://www.alorisltd.ru">Ювелирного Завода ALORIS </a></span> </div> </div> </div>
Далее, сохраняем стили в файле стилей шаблона:
.doska { display: none; position: absolute; } .doska #d1 { float: left; margin-left: -70px; margin-top: -10px; text-align: center; width: 325px; } .doska span { display: block; margin-top: 5px; } .doska { background-image: url("../images/magazinam.png");/*наша подложка*/ display: block; height: 239px; left: -350px; position: fixed; top: 285px; width: 398px; z-index: 99999; } .saleContent { color: #000000; font-family: Arial; font-size: 18px; left: 88px; line-height: 30px; position: relative; top: 33px; width: 350px; } .openSale { cursor: pointer; display: block; height: 145px; position: absolute; right: 20px; top: 10px; width: 45px; } #d1 a { background-color: #CE6F6F; background-image: linear-gradient(to bottom, #CC6666, #AD0808); background-repeat: repeat-x; border: 1px solid #BE5252; border-radius: 5px; color: #FFFFFF; font-size: 15px; font-weight: bold; line-height: 15px; padding: 6px; text-decoration: none; text-transform: uppercase; }
И теперь нам остается только оживить блок. Предполагаю, что jquery у нас уже подключен.
Тогда в файл с js скриптами добавляем:
jQuery(document).ready(function(){ jQuery('.openSale').click(function () { var el = jQuery(this).parent(); animateWindows(el, '-370px', '0', '-350px'); return false; }); jQuery('.doska').css("top", (jQuery(window).height() - jQuery('.doska').outerHeight()) / 2 + jQuery(window).scrollTop() + "px"); }); function animateWindows(el, p1, p2, p3) { if (!el.is('.openPlace')) { el.css('z-index', 99999); el.animate({ left: p1 }, 500, function () { el.animate({left:p2}, 700); }); el.addClass('openPlace'); } else { el.animate({ left: p1 }, 700, function () { el.animate({left:p3}, 800); el.css('z-index', 10); }); el.removeClass('openPlace'); } }
Все должно работать...
За стили кнопки спасибо Elle