22 июля 2008 ~ 6193 Комментария

Меню «Гаражные двери»

garagemenuexample

Очень красивое меню, реализованное при помощи Jquery, сравнимое только с меню реализованными на флеше.

Это меню работает за счет изменения background-position наложенных друг на друга слоями изображений.

И так, начнем.

Для начала, нам потребуется задний фон(нижний слой):

menu-background-example

Изображение той самой « гаражной двери»(средний слой):

shutter-template

И изображение «дверного проёма(верхний слой):

 window 

Создадим сам каркас меню на html:

<ul id="menuback">
     <li class="shutter" id="shutter1"><a class="link" href="#1">Ссылка 1</a></li>
     <li class="shutter" id="shutter2"><a class="link" href="#2">Ссылка 2</a></li>
     <li class="shutter" id="shutter3"><a class="link" href="#3">Ссылка 3</a></li>
     <li class="shutter" id="shutter4"><a class="link" href="#4">Ссылка 4</a></li>
</ul>

При отключенном css или javascript, меню будет выглядеть как обычный список ссылок, то есть еще будет выполнять свою главную функцию.

Оформим меню при помощи css:

*                     { margin:0px; padding:0px; }
body                    { background:#c1c1c1; }
a                     { outline-style: none; }

ul#menuback {
     margin: 50px auto;
     list-style: none;
     background: url(../images/menu-bg.jpg);
     width: 800px;
     overflow: auto;
}

ul#menuback li.shutter {
     width: 200px;
     height: 100px;
     display: block;
     float: left;
}

ul#menuback li#shutter1 {
     background: url(../images/shutter-africanplains.jpg) no-repeat;
}
ul#menuback li#shutter2 {
     background: url(../images/shutter-reptiles.jpg) no-repeat;
}
ul#menuback li#shutter3 {
     background: url(../images/shutter-aviary.jpg) no-repeat;
}
ul#menuback li#shutter4 {
     background: url(../images/shutter-arcticzone.jpg) no-repeat;
}

a.link {
   width: 200px;
   height: 100px;
   display: block;
   background: url(../images/window.png) no-repeat bottom center;
   text-indent: -9999px;
}

И, наконец, дадим ему жизнь при помощи jQuery.

Сам по себе jQuery не может полноценно работать с позицией фона в css, так что мы используем маленький однокилобайтный плагин к нему.

<script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
<script type="text/javascript" src="js/jquery.backgroundPosition.js"></script>

<script type="text/javascript">
     $(document).ready(function() {

          //Set css in Firefox (Required to use the backgroundPosition js)
          $('#shutter1').css({backgroundPosition: '0px 0px'});

          //Animate the shutter
          $(".link").hover(function(){
                $(this).parent().animate({backgroundPosition: '(0px -100px)'}, 500 );
              }, function() {
                $(this).parent().animate({backgroundPosition: '(0px 0px)'}, 500 );
          });
      });
</script>

Обновление: в ie6 меню работает некорректно из-за неправильной обработки прозрачности у png изображений.

Для исправления этого глюка используем следующий css код(извиняюсь если использовал это хак неправильно):

<!--[if lt IE 7]>
<style type="text/css">
a.link {
   filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/window.png', sizingMethod='scale');
   background: url(images/blank.gif) no-repeat bottom center;
}
</style>
<![endif]-->

Результат нашей работы вы можете посмотреть или скачать(вместе с исходниками изображений) ниже.

Спасибо за внимание!

Посмотреть результат(демо)

Скачать исходники

Источник(Английский)

6193 Комментария для “Меню «Гаражные двери»”

  1. Миша Абасов 22 июля 2008 at 12:49 Permalink

    Супер! Очень четко. немного неадекватно себя ведет если резко водить курсором (флеш бы так себя не вел), но класс.

  2. Евгений 22 июля 2008 at 13:33 Permalink

    А как насчет прозрачности png в ie6?

  3. Я собственной персоной 22 июля 2008 at 13:43 Permalink

    А как насчет прозрачности png в ie6?

    Сейчас попробую исправить.

  4. Афорист 22 июля 2008 at 14:24 Permalink

    Уташыл в закрома

  5. adw0rd 22 июля 2008 at 14:51 Permalink

    Красота! Спасибо! :)

  6. 1999 22 июля 2008 at 15:55 Permalink

    Прочел первые 10 страниц Вашего блога на одном дыхании
    Просто потрясающе. За такие блоги и люблю интернет :)
    Спасибо Вам и Хабру! Буду читать дальше

    PS: не понравилась одан вещь- при комментировании нужно обязатеьно указывать свой ящик. Не понимаю этого.

  7. meowth 22 июля 2008 at 15:57 Permalink

    Одна проблема – если поводить мышкой секунд несколько по всем 4м – влево-вправо, а потом убрать мышь, то «ворота» продолжа.т еще секунд 10-15 хлопать створками – видимо, следует еще после каждого цикла «открыл-закрыл» проверять, находится ли мышь в пределах элемента, и если нет – отменять анимацию (что-нть типа $(this).parent().stopAnimate)

  8. Миша Абасов 22 июля 2008 at 15:58 Permalink

    Супер! Очень четко. немного неадекватно себя ведет если резко водить курсором (флеш бы так себя не вел), но класс.

    Одна проблема – если поводить мышкой секунд несколько по всем 4м – влево-вправо, а потом убрать мышь, то «ворота» продолжа.т еще секунд 10-15 хлопать створками – видимо, следует еще после каждого цикла «открыл-закрыл» проверять, находится ли мышь в пределах элемента, и если нет – отменять анимацию (что-нть типа $(this).parent().stopAnimate)

    ;)

  9. pilot34 22 июля 2008 at 16:06 Permalink

    какая красотища. Насчет быстрого курсора тоже заметил, но кто кроме гиков будет мышкой елозить с такой скоростью

  10. Я собственной персоной 22 июля 2008 at 17:05 Permalink

    какая красотища. Насчет быстрого курсора тоже заметил, но кто кроме гиков будет мышкой елозить с такой скоростью

    Именно. Я тоже придерживаюсь этой позиции.
    Если пользователь играется с этой багой, пусть себе радуется (-:

  11. -=Vovan=- 22 июля 2008 at 21:28 Permalink

    Классная вещ. Спасибо!

  12. Zer0CooL 22 июля 2008 at 21:36 Permalink

    Вот ЭТО РЕАЛЬНАЯ ТЕМА ! спасибки !

  13. rozumny 23 июля 2008 at 0:18 Permalink

    Насчет быстрого курсора

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

  14. Я собственной персоной 23 июля 2008 at 1:04 Permalink

    Насчет быстрого курсора

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

    Это легко переписывается. И это не флэш.

  15. rozumny 23 июля 2008 at 4:29 Permalink

    Это легко переписывается. И это не флэш.

    я о том же, кому надо тот перепишет :-)

  16. ert2 28 июля 2008 at 3:23 Permalink

    Красиво, но не знаю где такое применить.

  17. Ольга [Бормотуха] 28 июля 2008 at 11:57 Permalink

    Очень забавная фича! Спасибо!

  18. unicod 8 августа 2008 at 2:03 Permalink

    как я рад, что наткнулся на этот сайт! менюжка «Гаражные двери» – это офигенная тема. обязательно реализую на своем авто сайте. блин офигенный сайт!

  19. Станислав 15 декабря 2008 at 18:37 Permalink

    а как расширить на больше чем 4 окна?

  20. Дмитрий 10 сентября 2009 at 22:40 Permalink

    Красиво!!!! Спс!

  21. Volodyaka 16 октября 2009 at 17:22 Permalink

    спасибо мне очень помог

  22. Galla 22 октября 2009 at 14:40 Permalink

    да просто супер

  23. WERER 6 ноября 2009 at 4:04 Permalink

    Есть ещё сайт по раздвижным пластиковым дверям porta-door.narod.ru отличный сайт.

  24. sergey 22 декабря 2009 at 1:54 Permalink

    Зе бест!
    классно.
    тоже забамблю чтонить.

    п.с. а у меня фамилия тоже чернев.. :)

  25. peter 17 апреля 2010 at 1:19 Permalink

    Если много раз мышкой поводить около этого эелемента, то будет долго колбасить)

    Чернеев опять перевёл очередную статью(

  26. peter 17 апреля 2010 at 1:20 Permalink

    *если это он написал)))

  27. peter 17 апреля 2010 at 1:20 Permalink

    тьфу ты чернёв, сори

  28. param-pam-pam 3 августа 2010 at 18:58 Permalink

    красота! супер!

  29. Nataly 13 февраля 2011 at 19:42 Permalink

    Кто может подсказать как установить это меню на wordpress?

  30. PETRFilatov23 17 июня 2011 at 3:33 Permalink

    Недорогие пассажирские перевозки по Киеве

  31. Kimonoid 23 июля 2011 at 18:27 Permalink

    Лучше, конечно использовать hover

  32. max 7 сентября 2011 at 19:26 Permalink

    хорошее меню. спасибо за исходники.

  33. burn city apk 27 января 2012 at 18:45 Permalink

    Меню Гаражные двери» | Ð§ÐµÑ€Ð½ÐµÐ².ру I was recommended this website by my cousin. I’m not sure whether this post is written by him as nobody else know such detailed about my problem. You’re amazing! Thanks! your article about Меню Гаражные двери» | Ð§ÐµÑ€Ð½ÐµÐ².руBest Regards Lawrence

  34. App For Android 27 января 2012 at 18:45 Permalink

    Меню Гаражные двери» | Ð§ÐµÑ€Ð½ÐµÐ².ру I was suggested this website by my cousin. I am not sure whether this post is written by him as nobody else know such detailed about my problem. You are wonderful! Thanks! your article about Меню Гаражные двери» | Ð§ÐµÑ€Ð½ÐµÐ².руBest Regards Rolf

  35. invest liberty reserve 30 января 2012 at 13:21 Permalink

    Меню Гаражные двери» | Ð§ÐµÑ€Ð½ÐµÐ².ру I was recommended this blog by my cousin. I am not sure whether this post is written by him as no one else know such detailed about my trouble. You’re incredible! Thanks! your article about Меню Гаражные двери» | Ð§ÐµÑ€Ð½ÐµÐ².руBest Regards Cindy

  36. invest liberty reserve 30 января 2012 at 13:21 Permalink

    Меню Гаражные двери» | Ð§ÐµÑ€Ð½ÐµÐ².ру I was suggested this web site by my cousin. I am not sure whether this post is written by him as nobody else know such detailed about my difficulty. You are amazing! Thanks! your article about Меню Гаражные двери» | Ð§ÐµÑ€Ð½ÐµÐ².руBest Regards Lawrence

  37. menopoz belirtileri 2 февраля 2012 at 22:35 Permalink

    Greetings thanks for good publish i used to be looking for this situation last two days. I’ll search for up coming precious posts. Have entertaining admin.

  38. ankara ingilizce kursu 4 февраля 2012 at 7:47 Permalink

    I used to be searching for this website survive several days great blog site operator great posts every thing is fantastic

  39. lüks araç kiralama 4 февраля 2012 at 8:36 Permalink

    I was looking for this web site very last several nights great weblog manager excellent posts everything is superb

  40. yarış 4 февраля 2012 at 13:52 Permalink

    hey admin thanks for wonderful and uncomplicated understandable post i beloved your web site internet site actually much bookmarked also

  41. sohbet 4 февраля 2012 at 16:20 Permalink

    that you are truly amount one particular admin your blogging is amazing i continually check your blog site i am sure you will be the most effective

  42. liseli porno 4 февраля 2012 at 18:00 Permalink

    I used to be seeking this blog site last 3 days and nights great web site operator fantastic posts all the things is amazing

  43. köpek eğitimi 5 февраля 2012 at 9:03 Permalink

    you will be really variety one particular admin your running a blog is remarkable i often examine your blog site i am certain you will likely be the very best

  44. seks 6 февраля 2012 at 10:45 Permalink

    I was browsing for this great sharing admin a lot thanks and have good running a blog bye

  45. escort 6 февраля 2012 at 15:46 Permalink

    Hello admin good submit considerably thanks adored this weblog definitely a lot

  46. panax 7 февраля 2012 at 14:30 Permalink

    i bookmarked you in my browser admin thank you so much i is going to be looking for your next posts

  47. Rosemarie Sforza 8 февраля 2012 at 2:44 Permalink

    nice post!

  48. Milissa Liccione 8 февраля 2012 at 4:59 Permalink

    You made some nice points there. I did a search on the subject matter and found most persons will consent with your website.

  49. Tyree Bronikowski 8 февраля 2012 at 8:51 Permalink

    Hey I think you have a great blog going here, I found it on Bing and plan on returning regularly for the information that you all are providing.|Thanks for making my morning a little bit better with this great article!

  50. güvenlik sistemleri 8 февраля 2012 at 13:36 Permalink

    I essential for this blog site publish admin seriously thanks i will look your subsequent sharings i bookmarked your blog site


Оставить комментарий