Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > HTML и CSS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2014, 16:51   #1
izhtownfun
Пользователь
 
Регистрация: 03.04.2014
Сообщений: 26
Печаль помогите! взрывается бошка!

уже около ~10 часов чистого рабочего времени бьюсь над проблемой:
не могу добавить меню, написанное на css с js на сайт joomla 1.5.
на денвере все прекрасно работает. стили joomla читает - выглядит меню нормально, вроде проблем с этим нет, однако меню не раскрывается, как должно за что отвечает js
хочу чтоб меню было в материале на главной.

думаю что проблема в js, подскажите как правильно подключить скрипты, а именно тот, что отвечает за меню и jquery

не знаю нужен ли сам код, но на всякий случай добавлю, только лишнее уберу, типа ссылок
izhtownfun вне форума Ответить с цитированием
Старый 04.04.2014, 16:57   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну а консоль ошибок что говорит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.04.2014, 16:59   #3
izhtownfun
Пользователь
 
Регистрация: 03.04.2014
Сообщений: 26
По умолчанию

HTML:
Код:
 <ul class="menus">
    <li tabindex="1">
      <span class="title"></span> 
      <div class="content">
		<div class="razdel"><a href='#'>Ванны</a>&nbsp|&nbsp
							<a href='#'>Душевые кабины</a>&nbsp|&nbsp
							<a href='#'>Раковины</a>&nbsp|&nbsp
							<a href='#'>Смесители</a>&nbsp|&nbsp
							<a href='#'>Унитазы</a>
						</div>
					</div>
    </li>
    <li tabindex="1">
      <span class="title"></span> 
      <div class="content">
		<div class="razdel"><a href='#'>Зеркала</a>&nbsp|&nbsp
							<a href='#'>Мойки и тумбы</a>&nbsp|&nbsp
							<a href='#'>Стеклянная мебель</a>&nbsp|&nbsp
							<a href='#'>Экраны</a>
						</div>
					</div>
    </li>
    <li tabindex="1">
      <span class="title"></span> 
      <div class="content">
		<div class="razdel"><a href='#'>Клеи, пены</a>&nbsp|&nbsp
							<a href='#'>Расходники</a>&nbsp|&nbsp
							<a href='#'>Счетчики</a>&nbsp|&nbsp
							<a href='#'>Фурнитура</a>&nbsp|&nbsp
							<a href='#'>Хомуты</a>
						</div>
					</div>
    </li>    
  </ul>
СКРИПТ:
Код:
<script>
	  (function(){
	  
		// Добавялем кнопку закрытия каждому блоку
		$('.menus .content').append('<span class="close">x</span>');		
		// Выводим окно
		function showContent(elem){
			hideContent();
			elem.find('.content').addClass('expanded');
			elem.addClass('cover');	
		}
		// Сбрасываем все
		function hideContent(){
			$('.menus .content').removeClass('expanded');
			$('.menus li').removeClass('cover');		
		}
		
		// Когда элемент li нажат, выводим окно с его содержанием и позиционируем поверх всего
		$('.menus li').click(function() {
			showContent($(this));
		});		
		// Содержание будет также выводиться с помощью нажатия клавиши ENTER
		$('.menus li').keypress(function(e) {
			if (e.keyCode == 13) { 
				showContent($(this));
			}
		});

		// Когда нажат верхний правый элемент, сбрасываем все
		$('.menus .close').click(function(e) {
			e.stopPropagation();
			hideContent();
		});		
		// Также сброс происходит по нахатию клавиши ESC
		$(document).keyup(function(e) {
			if (e.keyCode == 27) { 
			  hideContent();
			}
		});
		
	  })();
</script>
izhtownfun вне форума Ответить с цитированием
Старый 04.04.2014, 17:00   #4
izhtownfun
Пользователь
 
Регистрация: 03.04.2014
Сообщений: 26
По умолчанию

CSS:
Код:
.menus{
  width: 620px;
  margin: 100px 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;
}

.menus:before,
.menus:after {
  content: "";
  display: table;
}

.menus:after {
  clear: both;
}

.menus {
  zoom:1;
}

/* -------------------------------- */        

.menus li {
  position: relative;
  float: left;
  cursor: pointer;
  height: 180px; width: 200px;
  margin: 10px 0 0 10px;
  color: #000;
} 

.menus li:hover, .menus 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));
}

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

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

/* -------------------------------- */

.menus 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;    
}      

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

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

/* -------------------------------- */       

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

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

.menus li:nth-child(1),
.menus li:nth-child(1) .content,
.menus li:nth-child(1) .close{
  background-color: #2c618f;
  background-image: url(menus1.png);
  background-position: left;
}         

.menus li:nth-child(2),
.menus li:nth-child(2) .content,
.menus li:nth-child(2) .close{
  background-color: #91ab31;
  background-image: url(menus2.png);  
}   

.menus li:nth-child(3),
.menus li:nth-child(3) .content,
.menus li:nth-child(3) .close{
  background-color: #714a28;
  background-image: url(menus3.png);  
}
.menus .content{
  opacity: 0; display: none\9;
  overflow: hidden;
  font:bold 16px 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;      
}  
.menus .razdel{
	width: 550px;
	height: 125px;
    display: table-cell;
	vertical-align: bottom;
	text-align: right;
	
}
.menus .content a {
 text-decoration: none;
-moz-transition: color 0.2s 0.02s ease;
 -o-transition: color 0.2s 0.02s ease;
 -webkit-transition: color 0.2s 0.02s ease;
 color:#fff;
 text-shadow: #000 1px 0 0px, #000 0 1px 0px, #000 -1px 0 0px, #000 0 -1px 0px;
}
 
.menus .content a:hover {
 color: #33CCFF;
 }


.menus .expanded{
  opacity: 1; display: block\9;
  overflow: visible;
  padding: 40px;
  height: 100px; width: 540px; /* Покрываем всю область */
}

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

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

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

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

/* -------------------------------- */    

.menus .title{
  position: absolute;
  height: 100%; width: 100%;
  text-align: center;
  font: italic bold 1em/120px 'trebuchet MS', Arial, helvetica;
  opacity: .2;
}

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

/* -------------------------------- */

.menus .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;      
}

.menus .cover .close{
  display: block;
}
izhtownfun вне форума Ответить с цитированием
Старый 04.04.2014, 17:02   #5
izhtownfun
Пользователь
 
Регистрация: 03.04.2014
Сообщений: 26
По умолчанию

хромовский "показать код элемента" при переходе на скрипт(который я загружал отдельным файлом(как я уже только не загружал)) выдает в первой же строчке ( $('.menus .content').append('<span class="close">x</span>'); ) Cannot call method 'append' of null , загуглил, ничего толком не понял
izhtownfun вне форума Ответить с цитированием
Старый 04.04.2014, 17:11   #6
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от izhtownfun Посмотреть сообщение
хромовский "показать код элемента" при переходе на скрипт(который я загружал отдельным файлом(как я уже только не загружал)) выдает в первой же строчке ( $('.menus .content').append('<span class="close">x</span>'); ) Cannot call method 'append' of null , загуглил, ничего толком не понял
jQuery не подключен на момент вызова скрипта
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 04.04.2014, 17:19   #7
izhtownfun
Пользователь
 
Регистрация: 03.04.2014
Сообщений: 26
По умолчанию

подскажи как правильно его подключать
izhtownfun вне форума Ответить с цитированием
Старый 04.04.2014, 17:33   #8
izhtownfun
Пользователь
 
Регистрация: 03.04.2014
Сообщений: 26
По умолчанию

просто в head index.php(который лежит в папке с шаблоном) прописано следующее
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
izhtownfun вне форума Ответить с цитированием
Старый 04.04.2014, 18:42   #9
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от izhtownfun Посмотреть сообщение
просто в head index.php(который лежит в папке с шаблоном) прописано следующее
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
все верно, этот скрипт должен идти по строчкам первее твоего
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 07.04.2014, 12:40   #10
izhtownfun
Пользователь
 
Регистрация: 03.04.2014
Сообщений: 26
По умолчанию

блин, не работает. тоже самое пишет. стоит самый первый. свой скрипт меню я загружал в хеде после jquery, убирал оттуда и прям в материал вставлял. одна и та же ошибка все время. помогите(((
izhtownfun вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите создать програму для роботы с файлами, пожалуйста помогите нужно очень срочно Сергей Человек Фриланс 3 06.07.2009 19:30
Помогите Помогите Пожалуйста Решить Одну Задачку в Паскале!!! VisTBacK Помощь студентам 6 19.09.2008 13:44