24/08/15 Открыта запись на обучение вёрстки для майбба - ссылка на тему

Избранные уроки Photoshop


Вверх
Вниз

COLOR MATE

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » COLOR MATE » Каталог CSS|JS » Awesome jQuery and CSS3 Interactive menu


Awesome jQuery and CSS3 Interactive menu

Сообщений 1 страница 7 из 7

1

http://www.red-team-design.com/wp-content/uploads/2012/04/interactive-menu-with-css3-jquery-preview.png
demo

HTML

Код:
<link rel="stylesheet" href="https://forumstatic.ru/files/0011/8c/a9/84432.css">	
	<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script src="https://forumstatic.ru/files/0011/8c/a9/74074.js"></script>
<ul class="menu">
    <li tabindex="1">
      <span class="title">One</span> 
      <div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse interdum dictum scelerisque. Morbi eu euismod lorem.</div>
    </li>
    <li tabindex="1">
      <span class="title">Two</span> 
      <div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse interdum dictum scelerisque. Morbi eu euismod lorem.</div>
    </li>
    <li tabindex="1">
      <span class="title">Three</span> 
      <div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse interdum dictum scelerisque. Morbi eu euismod lorem.</div>
    </li>
    <li tabindex="1">
      <span class="title">Four</span> 
      <div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse interdum dictum scelerisque. Morbi eu euismod lorem.</div>
    </li>
    <li tabindex="1">
      <span class="title">Five</span> 
      <div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse interdum dictum scelerisque. Morbi eu euismod lorem.</div>
    </li>
    <li tabindex="1">
      <span class="title">Six</span> 
      <div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse interdum dictum scelerisque. Morbi eu euismod lorem.</div>
    </li>
    <li tabindex="1"> 
      <span class="title">Seven</span>
      <div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse interdum dictum scelerisque. Morbi eu euismod lorem.</div>
    </li>
    <li tabindex="1"> 
      <span class="title">Eight</span>
      <div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse interdum dictum scelerisque. Morbi eu euismod lorem.</div>
    </li>
    <li tabindex="1"> 
      <span class="title">Nine</span>
      <div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse interdum dictum scelerisque. Morbi eu euismod lorem.</div>
    </li>     
  </ul>
  
  

	<script>
	  (function(){
	  
    // Append a close trigger for each block
    $('.menu .content').append('<span class="close">x</span>');    
    // Show window
    function showContent(elem){
    	hideContent();
    	elem.find('.content').addClass('expanded');
    	elem.addClass('cover');	
    }
    // Reset all
    function hideContent(){
    	$('.menu .content').removeClass('expanded');
    	$('.menu li').removeClass('cover');    
    }
    
    // When a li is clicked, show its content window and position it above all
    $('.menu li').click(function() {
    	showContent($(this));
    });    
    // When tabbing, show its content window using ENTER key
    $('.menu li').keypress(function(e) {
    	if (e.keyCode == 13) { 
        showContent($(this));
    	}
    });

    // When right upper close element is clicked  - reset all
    $('.menu .close').click(function(e) {
    	e.stopPropagation();
    	hideContent();
    });    
    // Also, when ESC key is pressed - reset all
    $(document).keyup(function(e) {
    	if (e.keyCode == 27) { 
    	  hideContent();
    	}
    });
    
	  })();
	</script>

первоисточник

0

2

Эээм... а как насчет "сменить цвета блоков"? ._.

0

3

Reesh
Добавьте во второе окно ксс:

Код:
/* стиль общего контейнера с кнопками */
.menu{
  width: 620px; /* ширина */
  margin: 10px auto; padding: 15px; /* отступы */	  
  list-style: none;
  counter-reset: li;
  background: #eee; /* фон */
  -moz-box-shadow: 0 1px 2px rgba(0,0,0,.1) inset; /* тень вокруг контейнера */
  -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.1) inset;
  box-shadow: 0 1px 2px rgba(0,0,0,.1) inset;
  -moz-border-radius: 10px; /* закругление углов */
  -webkit-border-radius: 10px;
  border-radius: 10px;
}

.menu:before,
.menu:after {
  content: "";
  display: table; /* отображение кнопок в виде таблицы */
}

.menu:after {
  clear: both;
}

.menu {
  zoom:1;
}

/* стиль кнопки */        
.menu li {
  position: relative;
  float: left;
  cursor: pointer;
  height: 120px; width: 200px; /* высота и ширина кнопки */
  margin: 10px 0 0 10px; /* отступы между кнопками */
  color: #fff;
} 

.menu li:hover, .menu li:focus{ /* градиент, который появляется на кнопки при наведении курсора */
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,.2)), to(rgba(255,255,255,0)));
  background-image: -webkit-linear-gradient(top, rgba(255,255,255,.2), rgba(255,255,255,0));
  background-image: -moz-linear-gradient(top, rgba(255,255,255,.2), rgba(255,255,255,0));
  background-image: -ms-linear-gradient(top, rgba(255,255,255,.2), rgba(255,255,255,0));
  background-image: -o-linear-gradient(top, rgba(255,255,255,.2), rgba(255,255,255,0));
  background-image: linear-gradient(top, rgba(255,255,255,.2), rgba(255,255,255,0));
}


/* стиль всплывающего описания */

.menu .cover{
  z-index: 2;
}

.menu .cover:focus{
  outline: 0;
}

.menu li::after{
  content: counter(li);
  counter-increment: li;
  font: italic bold 10px serif, georgia; /* шрифт */
  position: absolute;
  color: rgba(255,255,255,.1);
  opacity: 0;
  -webkit-transition: all .2s ease-out;
  -moz-transition: all .2s ease-out;
  -ms-transition: all .2s ease-out; 
  -o-transition: all .2s ease-out;  
  transition: all .2s ease-out;    
}      

.menu li:hover::after, .menu li:focus::after{
  font-size: 100px;
  opacity: 1; 
}

.menu .cover::after{
  z-index: -1;
}

.menu li:nth-child(1),
.menu li:nth-child(2),
.menu li:nth-child(3){
  margin-top: 0;
}

.menu li:nth-child(1),
.menu li:nth-child(4),
.menu li:nth-child(7){
  margin-left: 0;      
}

/* цвета кнопок по порядку */

.menu li:nth-child(1),
.menu li:nth-child(1) .content,
.menu li:nth-child(1) .close{
  background-color: #2c618f;
}         

.menu li:nth-child(2),
.menu li:nth-child(2) .content,
.menu li:nth-child(2) .close{
  background-color: #91ab31;   
}   

.menu li:nth-child(3),
.menu li:nth-child(3) .content,
.menu li:nth-child(3) .close{
  background-color: #714a28;   
}

.menu li:nth-child(4),
.menu li:nth-child(4) .content,
.menu li:nth-child(4) .close{
  background-color: #e58600;      
}

.menu li:nth-child(5),
.menu li:nth-child(5) .content,
.menu li:nth-child(5) .close{
  background-color: #c33a00;
}

.menu li:nth-child(6),
.menu li:nth-child(6) .content,
.menu li:nth-child(6) .close{
  background-color: #7f5dac;
}

.menu li:nth-child(7),
.menu li:nth-child(7) .content,
.menu li:nth-child(7) .close{
  background-color: #5672b7;     
}

.menu li:nth-child(8),
.menu li:nth-child(8) .content,
.menu li:nth-child(8) .close{
  background-color: #69003f;
}

.menu li:nth-child(9),
.menu li:nth-child(9) .content,
.menu li:nth-child(9) .close{
  background-color: #393043;
}

/* стиль всплывающего контента */

.menu .content{
  opacity: 0; display: none\9;
  overflow: hidden;
  font: 12px Arial, Helvetica; /* шрифт */
  position: absolute;
  height: 120px; width: 200px; /* Высота и ширина области текста. В идеале: height: 100%; width: 100%; , но будет работать только в FF */
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  -ms-transition: all .3s ease-out; 
  -o-transition: all .3s ease-out;  
  transition: all .3s ease-out;      
}  

.menu .expanded{
  opacity: .95; display: block\9;
  overflow: visible;
  padding: 40px;
  height: 300px; width: 540px; /* высота и ширина области перекрытия контейнера с всплывающего описания */
}

.menu li:nth-child(3n) .content{ /* 3,6,9 */
  right: 0;
}

.menu li:nth-child(3n-1) .expanded{ /* 2,5,8 */
  left: 50%;
  margin-left: -310px;
}

.menu li:nth-child(7) .content, /* 7,8,9 */
.menu li:nth-child(8) .content,
.menu li:nth-child(9) .content{
  bottom: 0;
}                      

.menu li:nth-child(4) .expanded, /* 4,5,6 */
.menu li:nth-child(5) .expanded,
.menu li:nth-child(6) .expanded{
  margin-top: -190px;
  top: 50%;
} 

/* стиль названия кнопок */    

.menu .title{
  position: absolute;
  height: 100%; width: 100%;
  text-align: center; /* выравнивание по центру */
  font: italic bold 1em/120px 'trebuchet MS', Arial, helvetica; /* шрифт */
  opacity: .2;
}

.menu li:hover .title{
  opacity: .7;
}    

/* стиль крестика, закрывающего всплывающее описание */

.menu .close {
  display: none;
  border: 5px solid #fff; /* обводка (граница) */
  color: #fff; /* цвет */
  cursor: pointer;
  height: 40px; width: 40px; /* высота и ширина */
  font: bold 20px/40px arial, helvetica; /* шрифт */
  position: absolute;
  text-align: center;
  top: -20px; right: -20px; /* расположение (двигаем крестик) */
  -moz-border-radius: 40px; /* закругление границ */
  -webkit-border-radius: 40px;
  border-radius: 40px;      
}

.menu .cover .close{
  display: block;
}

0

4

winter `
Благодарю))

0

5

Да, еще тогда нужно убрать в первом скрипте верхнюю строчку с файлом css - иначе не действуют изменения х)

0

6

Скрипт должен быть таким:
Хтмл (куда угодно)

Код:
  <ul class="menu">
    <li tabindex="1">
      <span class="title">Один</span> 
      <div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse interdum dictum scelerisque. Morbi eu euismod lorem.</div>
    </li>
    <li tabindex="1">
      <span class="title">Два</span> 
      <div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse interdum dictum scelerisque. Morbi eu euismod lorem.</div>
    </li>
    <li tabindex="1">
      <span class="title">Три</span> 
      <div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse interdum dictum scelerisque. Morbi eu euismod lorem.</div>
    </li>
    <li tabindex="1">
      <span class="title">Четыре</span> 
      <div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse interdum dictum scelerisque. Morbi eu euismod lorem.</div>
    </li>
    <li tabindex="1">
      <span class="title">Пять</span> 
      <div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse interdum dictum scelerisque. Morbi eu euismod lorem.</div>
    </li>
    <li tabindex="1">
      <span class="title">Шесть</span> 
      <div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse interdum dictum scelerisque. Morbi eu euismod lorem.</div>
    </li>
    <li tabindex="1"> 
      <span class="title">Семь</span>
      <div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse interdum dictum scelerisque. Morbi eu euismod lorem.</div>
    </li>
    <li tabindex="1"> 
      <span class="title">Восемь</span>
      <div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse interdum dictum scelerisque. Morbi eu euismod lorem.</div>
    </li>
    <li tabindex="1"> 
      <span class="title">Девять</span>
      <div class="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse interdum dictum scelerisque. Morbi eu euismod lorem.</div>
    </li>     
  </ul>

	<script>
	  (function(){
	  
    // Добавялем кнопку закрытия каждому блоку
    $('.menu .content').append('<span class="close">x</span>');    
    // Выводим окно
    function showContent(elem){
    	hideContent();
    	elem.find('.content').addClass('expanded');
    	elem.addClass('cover');	
    }
    // Сбрасываем все
    function hideContent(){
    	$('.menu .content').removeClass('expanded');
    	$('.menu li').removeClass('cover');    
    }
    
    // Когда элемент li нажат, выводим окно с его содержанием и позиционируем поверх всего
    $('.menu li').click(function() {
    	showContent($(this));
    });    
    // Содержание будет также выводиться с помощью нажатия клавиши ENTER
    $('.menu li').keypress(function(e) {
    	if (e.keyCode == 13) { 
        showContent($(this));
    	}
    });

    // Когда нажат верхний правый элемент, сбрасываем все
    $('.menu .close').click(function(e) {
    	e.stopPropagation();
    	hideContent();
    });    
    // Также сброс происходит по нахатию клавиши ESC
    $(document).keyup(function(e) {
    	if (e.keyCode == 27) { 
    	  hideContent();
    	}
    });
    
	  })();
	</script>

КСС

Код:
/* стиль общего контейнера с кнопками */
.menu{
  width: 620px; /* ширина */
  margin: 10px auto; padding: 15px; /* отступы */	  
  list-style: none;
  counter-reset: li;
  background: #eee; /* фон */
  -moz-box-shadow: 0 1px 2px rgba(0,0,0,.1) inset; /* тень вокруг контейнера */
  -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.1) inset;
  box-shadow: 0 1px 2px rgba(0,0,0,.1) inset;
  -moz-border-radius: 10px; /* закругление углов */
  -webkit-border-radius: 10px;
  border-radius: 10px;
}

.menu:before,
.menu:after {
  content: "";
  display: table; /* отображение кнопок в виде таблицы */
}

.menu:after {
  clear: both;
}

.menu {
  zoom:1;
}

/* стиль кнопки */        
.menu li {
  position: relative;
  float: left;
  cursor: pointer;
  height: 120px; width: 200px; /* высота и ширина кнопки */
  margin: 10px 0 0 10px; /* отступы между кнопками */
  color: #fff;
} 

.menu li:hover, .menu li:focus{ /* градиент, который появляется на кнопки при наведении курсора */
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(255,255,255,.2)), to(rgba(255,255,255,0)));
  background-image: -webkit-linear-gradient(top, rgba(255,255,255,.2), rgba(255,255,255,0));
  background-image: -moz-linear-gradient(top, rgba(255,255,255,.2), rgba(255,255,255,0));
  background-image: -ms-linear-gradient(top, rgba(255,255,255,.2), rgba(255,255,255,0));
  background-image: -o-linear-gradient(top, rgba(255,255,255,.2), rgba(255,255,255,0));
  background-image: linear-gradient(top, rgba(255,255,255,.2), rgba(255,255,255,0));
}


/* стиль всплывающего описания */

.menu .cover{
  z-index: 2;
}

.menu .cover:focus{
  outline: 0;
}

.menu li::after{
  content: counter(li);
  counter-increment: li;
  font: italic bold 10px serif, georgia; /* шрифт */
  position: absolute;
  color: rgba(255,255,255,.1);
  opacity: 0;
  -webkit-transition: all .2s ease-out;
  -moz-transition: all .2s ease-out;
  -ms-transition: all .2s ease-out; 
  -o-transition: all .2s ease-out;  
  transition: all .2s ease-out;    
}      

.menu li:hover::after, .menu li:focus::after{
  font-size: 100px;
  opacity: 1; 
}

.menu .cover::after{
  z-index: -1;
}

.menu li:nth-child(1),
.menu li:nth-child(2),
.menu li:nth-child(3){
  margin-top: 0;
}

.menu li:nth-child(1),
.menu li:nth-child(4),
.menu li:nth-child(7){
  margin-left: 0;      
}

/* цвета кнопок по порядку */

.menu li:nth-child(1),
.menu li:nth-child(1) .content,
.menu li:nth-child(1) .close{
  background-color: #2c618f;
}         

.menu li:nth-child(2),
.menu li:nth-child(2) .content,
.menu li:nth-child(2) .close{
  background-color: #91ab31;   
}   

.menu li:nth-child(3),
.menu li:nth-child(3) .content,
.menu li:nth-child(3) .close{
  background-color: #714a28;   
}

.menu li:nth-child(4),
.menu li:nth-child(4) .content,
.menu li:nth-child(4) .close{
  background-color: #e58600;      
}

.menu li:nth-child(5),
.menu li:nth-child(5) .content,
.menu li:nth-child(5) .close{
  background-color: #c33a00;
}

.menu li:nth-child(6),
.menu li:nth-child(6) .content,
.menu li:nth-child(6) .close{
  background-color: #7f5dac;
}

.menu li:nth-child(7),
.menu li:nth-child(7) .content,
.menu li:nth-child(7) .close{
  background-color: #5672b7;     
}

.menu li:nth-child(8),
.menu li:nth-child(8) .content,
.menu li:nth-child(8) .close{
  background-color: #69003f;
}

.menu li:nth-child(9),
.menu li:nth-child(9) .content,
.menu li:nth-child(9) .close{
  background-color: #393043;
}

/* стиль всплывающего контента */

.menu .content{
  opacity: 0; display: none\9;
  overflow: hidden;
  font: 12px Arial, Helvetica; /* шрифт */
  position: absolute;
  height: 120px; width: 200px; /* Высота и ширина области текста. В идеале: height: 100%; width: 100%; , но будет работать только в FF */
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  -ms-transition: all .3s ease-out; 
  -o-transition: all .3s ease-out;  
  transition: all .3s ease-out;      
}  

.menu .expanded{
  opacity: .95; display: block\9;
  overflow: visible;
  padding: 40px;
  height: 300px; width: 540px; /* высота и ширина области перекрытия контейнера с всплывающего описания */
}

.menu li:nth-child(3n) .content{ /* 3,6,9 */
  right: 0;
}

.menu li:nth-child(3n-1) .expanded{ /* 2,5,8 */
  left: 50%;
  margin-left: -310px;
}

.menu li:nth-child(7) .content, /* 7,8,9 */
.menu li:nth-child(8) .content,
.menu li:nth-child(9) .content{
  bottom: 0;
}                      

.menu li:nth-child(4) .expanded, /* 4,5,6 */
.menu li:nth-child(5) .expanded,
.menu li:nth-child(6) .expanded{
  margin-top: -190px;
  top: 50%;
} 

/* стиль названия кнопок */    

.menu .title{
  position: absolute;
  height: 100%; width: 100%;
  text-align: center; /* выравнивание по центру */
  font: italic bold 1em/120px 'trebuchet MS', Arial, helvetica; /* шрифт */
  opacity: .2;
}

.menu li:hover .title{
  opacity: .7;
}    

/* стиль крестика, закрывающего всплывающее описание */

.menu .close {
  display: none;
  border: 5px solid #fff; /* обводка (граница) */
  color: #fff; /* цвет */
  cursor: pointer;
  height: 40px; width: 40px; /* высота и ширина */
  font: bold 20px/40px arial, helvetica; /* шрифт */
  position: absolute;
  text-align: center;
  top: -20px; right: -20px; /* расположение (двигаем крестик) */
  -moz-border-radius: 40px; /* закругление границ */
  -webkit-border-radius: 40px;
  border-radius: 40px;      
}

.menu .cover .close{
  display: block;
}

В хтмл-верх:

Код:
<script src="https://forumstatic.ru/files/0006/9d/16/68630.js"></script>

0

7

Пыталась шесть кнопок сделатьь для таблицы, вся таблица съехала влево. Написала скрипт центра - названия кнопок сдвинулось вправо. Что такое?

Отредактировано Hestia (17-11-2012 23:16:52)

0


Вы здесь » COLOR MATE » Каталог CSS|JS » Awesome jQuery and CSS3 Interactive menu