Jump to content
  • 0

Меню аккордеон!


Uncle Fox
 Share

Question

День добрый!

 

Если взять меню, например вот это: http://www.magentawave.com/2012/10/accordion-css3-jquery-menu.html то оно прекрасно работает. Но как только делаешь в меню 8-10 подменю (как только делаешь его достаточно длинным), то при нажатии на пункт страничка сдвигается вверх к этому пункту.

Я думаю дело в якоре? Из за него страница двигается к месту где якорь?

Как от этого избавиться? Зачем нужно меню, которое не работает нормально... Таких меню куча в инете и основа у них одна, список с якорями.

Может можно как-то без якорей сделать? Или я чего-то не понимаю еще.

 

С ув. Uncle Fox.

 

 

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Наверно я неправильно объясняю.

Вот кусок html:

 

<div class="accordion">

<section id="one">

<h1><a href="#one">Первое меню</a></h1>

<div>

<p><a href="page1.html">Подменю 1</a></p>

<p><a href="page2.html ">Подменю 2</a></p>

<p><a href="page3.html ">Подменю 3</a></p>

</div>

</section>

<section id="two">

<h1><a href="#two">Второе меню</a></h1>

<div>

<p><a href="page4.html ">Подменю 1</a></p>

<p><a href="page5.html ">Подменю 2</a></p>

<p><a href="page6.html ">Подменю 3</a></p>

</div>

</section>

<section id="three">

<h1><a href="#three">Третье меню</a></h1>

<div>

<p><a href="page7.html ">Подменю 1</a></p>

<p><a href="page8.html ">Подменю 2</a></p>

<p><a href="page9.html ">Подменю 3</a></p>

</div>

</section>

</div>

 

Видите? Я так понял якорь нужен для работы меню, для открытия подменю. Тут три якоря, три подменю. На них не будет реальных ссылок. Но якоря указывают места на странице и из-за этого у меня двигается страница?


И css:

 

.accordion{
    position: relative;
    top: 150px;
    left: 85px;
    background-color: ;
    border: ;
    width: 155px;
    padding: 5px;
    /*margin: 0 auto;*/
}
.accordion section{
    border: none;
    border-bottom: 2px dotted #000;
    /*border: 1px solid #539127;*/
    margin: 5px;
    /*background-color: #fff;*/
    background-color: ;
}
.accordion h1, .accordion p{
    margin: 0;
}
.accordion p{
    font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
    font-size: 12px;
    color:#666;
    padding: 5px;
}
.accordion h1 a{
    font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
    font-size: 12px;
    display: block;
    position: relative;
    padding: 5px;
    color: #000;
    text-decoration: none;
}
.accordion h1 a:hover {
    color: #C00;
    background: ;
}
.accordion h1 + div {
    height: 0;
    overflow: hidden;
    -moz-transition: height 0.3s ease-in-out;
    -webkit-transition: height 0.3s ease-in-out;
    -o-transition: height 0.3s ease-in-out;
    transition: height 0.3s ease-in-out;
}
.accordion :target h1 a:after {
    content: '';
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -3px;
    border-top: 5px solid #333;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
}
.accordion :target h1 + div {
    height: auto;
}

Edited by Uncle Fox
Link to comment
Share on other sites

  • 0

Не скачет на чистой странице, а если поставить его ниже и левее, как вертикальное меню. И пунктов сделать 8-10 и начнет скакать :( В инете я много перебрал, у всех один и тот же принцип. Дайте ссылку на аналогичное меню без якорей, буду очень благодарен!

Link to comment
Share on other sites

  • 0

Уфф... заработало :) всем спасибо за подсказки.

 

Но у меня еще важный для меня вопрос, касающийся меню: меня сделано, красивое, работает когда по нему пройтись. А вот если нажать на пункт меню и по этому нажатию перейти на другую страничку - то как зафиксировать этот нажатый пункт как??? Этого в примерах кода нет.

 

Вот нашел, это в принципе то, что нужно http://veselov.sumy.ua/825-vydelyaem-tekuschiy-punkt-menyu-otdelnym-stilem-yavoy-jquery.html но мне ни хрена не понятно :( Объясните для чайника! Или может есть, что-то проще?

Edited by Uncle Fox
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy