Как создать Push / Slide Menu

0

Я пытаюсь создать систему меню Push/Slide Out на моем сайте, как, например, www.squarespace.com, однако я не знаю, как это сделать.

Мой сайт является сайтом Squarespace и использует html, json и less (вы также можете создавать файлы.js): splitblog.squarespace.com/

Мой файл site.region для навигации:

<squarespace:navigation navigationId="mainNav" template="navigation" />

Которая извлекает информацию из navigation.block, которая такова:

<nav id="main-navigation" class="main-navigation" data-content-field="navigation-mainNav">
  <ul>
    {.repeated section items}

        <li class="{.section active} active-link{.end}{.if folderActive} active-folder{.end}">
          {.folder?}
            <!--FOLDER-->
              <a href="{collection.fullUrl}">{collection.navigationTitle}</a>
              <ul>
                {.repeated section items}
                  <!--COLLECTION IN A FOLDER-->
                  {.collection?}
                    <li class="{.section active} active-link{.end}">
                      <a href="{collection.fullUrl}">
                        {collection.navigationTitle}
                      </a>
                    </li>
                  {.end}
                  <!--EXTERNAL LINK IN A FOLDER-->
                  {.section externalLink}
                    <li>
                      <a href="{url}"{.section newWindow} target="_blank"{.end}>
                        {title}
                      </a>
                    </li>
                  {.end}
                {.end}
              </ul>
          {.or}
            <!--COLLECTION-->
            {.section collection}
              <a href="{fullUrl}">{navigationTitle}</a>
            {.end}
            <!--EXTERNAL LINK-->
            {.section externalLink}
              <a href="{url}"{.section newWindow} target="_blank"{.end}>
                {title}
              </a>
            {.end}
          {.end}
        </li>
    {.end}
  </ul>
</nav>

Тогда безлимитный стиль для меню:

.main-navigation {
  ul {  
    padding-left: 0;
    li {
      display: inline-block;
      ul {
        display: none;
      }
      &:not(:last-child) {
        margin-right: .5em;
      }
      &:hover > ul {
        display: inline-block;
      }
      &.active-link > a {
        color: salmon;
      }
      &.active-folder > a {
        color: orange;
      }
    }
  }
}

Любая помощь будет оценена по достоинству. Не стесняйтесь предлагать решения css и js. Благодарю!

редактировать

Вот пример того, что я хочу использовать: codepen

  • 0
    Я использовал pushy в прошлом, и он прекрасно работает: github.com/christophery/pushy . По крайней мере, это даст вам представление о том, как решить проблему.
  • 0
    Можете ли вы предоставить JSFiddle .. будет легко помочь вам
Показать ещё 4 комментария
Теги:
less

2 ответа

0

Это может дать вам представление о том, как достичь этого.

http://thecodeplayer.com/walkthrough/off-canvas-menu-animated-links

Также в фундаменте есть меню offcanvas, в котором вы можете посмотреть и посмотреть, как они это создали.

http://foundation.zurb.com/docs/components/offcanvas.html

0

Проверьте эту скрипку.

Это должно дать вам представление о том, как это может быть достигнуто.

$(document).on("click","#button", function(){

    $('#div2').animate({ width:"20%" }, 200);
    $('#div1').animate({width:"80%" }, 200);

});

$(document).on("click","#close", function(){

    $('#div2').animate({visibility:"hidden" , width:"0%" }, 200); 
    $('#div1').animate({width:"100%" }, 200);

});


#div1
{
    height:100%;
    width:100%;
    float:left;
    position:fixed;
}
#div2
{
    height:100%;
    width:0%;
    float:right;

}

#button
{
    margin-top:20px;
    margin-right:20px;
    float:right;
}
  • 0
    Не то, что я пытаюсь сделать. Извините, если мне не ясно. Я пытаюсь создать ту же систему меню / навигации, что и www.squarespace.com - там, где вы нажимаете на значок меню, и меню выдвигается справа.
  • 0
    обновил скрипку .. заменим фиктивные данные элементами требования
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню