Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 8 Ответов
  • 4622 Просмотров
*

hawk1

  • Захожу иногда
  • 124
  • 1 / 0
Раскрывающееся меню
« : 28.06.2011, 14:17:54 »
В инете много информации о том, как сделать выпадеющее при наведении меню. А как сделать меню, раскрывающееся при клике?
*

Space Monkey

  • Захожу иногда
  • 108
  • 16 / 0
  • in vino veritas
Re: Раскрывающееся меню
« Ответ #1 : 28.06.2011, 18:20:52 »
это вопросы не по CSS , а по javascript) к сожалению,не могу тебе советом помочь.Но ведь есть тысячи меню-аккордеонов.Или ты сам хочешь сделать?
mootools
или ты хочешь именно выпадающее,только не при наведении,а при клике?
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Раскрывающееся меню
« Ответ #2 : 28.06.2011, 18:36:40 »
По клику? Смотрите mootools функцию toggle(). Выберите любое раскрывающееся меню на CSS и повешайте на него эту функцию. Готовые модули обычно имеют собственное оформление. Что проще заново сделать, чем перепиливать. Вот тут я выложил пару решаний при наведении. По клику - просто заменяете событие на .click() И смотри функцию ))
*

hawk1

  • Захожу иногда
  • 124
  • 1 / 0
Re: Раскрывающееся меню
« Ответ #3 : 04.07.2011, 14:23:47 »
Короче, я сделал два меню. Одно раскрывающееся, другое выпадающее. Когда тестировал все было нормально. Но когда собрал шаблон и поставил на сайт, оба меню  перестали раскрываться. Вот стили
Код
.menubar {
background-image: url(../images/menubar.png);
background-repeat: repeat;
height: 62px;
margin-right: auto;
margin-left: auto;
padding-right: 50px;
padding-left: 50px;
}

.menubar ul.menu {
list-style-type: none;
margin: 0px;
padding: 0px;
position: relative;
top: 10px;
z-index: 20;
width: 1100px;
}
.menubar ul.menu li li {
background-color: #efddb0;
}
.menubar ul.menu li ul {
display: none;
}
.menubar ul.menu li:hover ul {
display: block;
position: absolute;
left: -30px;
top: 25px;
}

.menubar ul.menu li {
display: inline;
float: left;
width: 150px;
position: relative;
margin-right: 30px;
}
.menubar ul.menu li a:hover, a:active {
color: #b22903;
}

.menubar ul.menu li a {
color: #00719d;
text-decoration: none;
}
.leftmodule ul.menu {
list-style-type: none;
margin: 0px;
position: relative;
left: -40px;
}
.leftmodule ul.menu a {
color: #a22503;
text-decoration: none;
}

.leftmodule ul.menu ul {
list-style-type: none;
display: none;
}

.leftmodule ul.menu a:hover {
text-decoration: underline;
}
Для раскрыввающегося сделал такую функцию
Код
$(document).ready(function() {
  $('ul.leftmenu ul').each(function(index) {
    $(this).prev().addClass('collapsible').click(function() {
      if ($(this).next().css('display') == 'none') {
        $(this).next().slideDown(200, function () {
          $(this).prev().removeClass('collapsed').addClass('expanded');
        });
      }else {
        $(this).next().slideUp(200, function () {
          $(this).prev().removeClass('expanded').addClass('collapsed');
          $(this).find('ul').each(function() {
            $(this).hide().prev().removeClass('expanded').addClass('collapsed');
          });
        });
      }
      return false;
    });
  });
});
Что не так?
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Раскрывающееся меню
« Ответ #4 : 04.07.2011, 20:45:55 »
Хтмл к этому не прилагается?
*

hawk1

  • Захожу иногда
  • 124
  • 1 / 0
Re: Раскрывающееся меню
« Ответ #5 : 04.07.2011, 21:26:18 »
Кажется уже допетрил.
*

hawk1

  • Захожу иногда
  • 124
  • 1 / 0
Re: Раскрывающееся меню
« Ответ #6 : 10.07.2011, 14:17:26 »
Верхнее я заставил выпадать, а вот как заставить раскрываться левое. Вот содержимое index.php
Код: php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language ?>" lang="<?php echo $this->language ?>">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<jdoc:include type="head" />
<link href="/templates/<?php echo $this->template ?>/css/template.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="/templates/<?php echo $this->template ?>/js/jquery.js"></script>
<script type="text/javascript" src="/templates/<?php echo $this->template ?>/js/slider.js"></script>
</head>

<body>
  <div class="logo"></div>
  <div class="menubar">  
    <jdoc:include type="modules" name="top" style="" />
  </div>
  <div class="container">
     <div class="leftmodule">
       <jdoc:include type="modules" name="left" style="xhtml" />
     </div>
     <div class="maincontent">
        <jdoc:include type="component" />
     </div>
     <div class="rightmodule">
        <jdoc:include type="modules" name="right" style="xhtml" />
     </div>
  </div>
  <br />
 <div class="rasporka"></div>
 <div class="footer">
    МГООИ &quot;Феникс&quot;. 1999 - <? echo date("Y"); ?>
   <jdoc:include type="modules" name="footer" style="xhtml" />
 </div>
</body>
</html>
« Последнее редактирование: 10.07.2011, 14:20:42 от hawk1 »
*

hawk1

  • Захожу иногда
  • 124
  • 1 / 0
Re: Раскрывающееся меню
« Ответ #8 : 17.07.2011, 20:41:40 »
Код: php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language ?>" lang="<?php echo $this->language ?>">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php $headerstuff = $this->getHeadData();
  $scripts = $headerstuff['scripts'];
  $headerstuff['scripts'] = array();
  foreach($scripts as $url=>$type) {
    if (strpos($url, 'js/mootools.js') === false && strpos($url, 'js/caption.js') === false) {
      $headerstuff['scripts'][$url] = $type;
    }
  }
  $this->setHeadData($headerstuff); ?>
<script type="text/javascript" src="/templates/<?php echo $this->template ?>/js/jquery.js"></script>
<script type="text/javascript" src="/templates/<?php echo $this->template ?>/js/slider.js"></script>
<jdoc:include type="head" />
<link href="/templates/<?php echo $this->template ?>/css/template.css" rel="stylesheet" type="text/css" />
</head>

<body>
  <div class="logo"></div>
  <div class="menubar"> 
    <jdoc:include type="modules" name="top" style="" />
  </div>
  <div class="container">
     <div class="leftmodule">
       <jdoc:include type="modules" name="left" style="xhtml" />
     </div>
     <div class="maincontent">
        <jdoc:include type="component" />
     </div>
     <div class="rightmodule">
        <jdoc:include type="modules" name="right" style="xhtml" />
     </div>
  </div>
  <br />
 <div class="rasporka"></div>
 <div class="footer">
    МГООИ &quot;Феникс&quot;. 1999 - <? echo date("Y"); ?>
   <jdoc:include type="modules" name="footer" style="xhtml" />
 </div>
</body>
</html>
Изменений никаких
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Кликабельность псевдоэлемента в пункте меню

Автор vasilii.pupkov

Ответов: 4
Просмотров: 5417
Последний ответ 29.12.2021, 23:15:38
от v42bis
Выпадающее меню

Автор DrShepard

Ответов: 10
Просмотров: 4654
Последний ответ 20.10.2021, 12:36:16
от DrShepard
Как закруглить края выпадающего меню?

Автор coliandra

Ответов: 1
Просмотров: 3107
Последний ответ 11.12.2020, 21:15:57
от effrit
При прокрутке страницы виджет залезает на меню

Автор coliandra

Ответов: 2
Просмотров: 2817
Последний ответ 27.11.2020, 11:33:58
от coliandra
Как убрать маркер только из одного пункта меню.

Автор kuraev64

Ответов: 2
Просмотров: 2951
Последний ответ 20.07.2020, 11:18:44
от kuraev64