Akordeon - jQuery плагин добавляющий на страницу стильно оформленный аккордеон. Полностью настраиваемый с возможностью отображения большого объема информации в ограниченном пространстве.

Разметка HTML

<div class="akordeon">
          <div class="akordeon-item">
              <div class="akordeon-item-head">
                  <div class="akordeon-item-head-container">
                      <div class="akordeon-heading">
                          Здесь заголовок
                      </div>
                  </div>
              </div>
              <div class="akordeon-item-body">
                  <div class="akordeon-item-content">
                    Здесь контент
                  </div>
              </div>
          </div>
 
         <div class="akordeon-item-head">
                  <div class="akordeon-item-head-container">
                      <div class="akordeon-heading">
                          Здесь заголовок
                      </div>
                  </div>
              </div>
              <div class="akordeon-item-body">
                  <div class="akordeon-item-content">
                    Здесь контент
                  </div>
              </div>
      </div>

CSS

.akordeon
{
    width: 616px;
    border: solid 1px black;
    color: White;
    font-family: Arial;
    font-size: 12px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    behavior: url(PIE.htc);
}
.akordeon-item
{
    position: relative;
}
.akordeon-item .akordeon-item-head
{
    height: 44px;
    background: #4B4B4B; /* Old browsers */
    background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#4b4b4b), to(#303030));
    background-image: -moz-linear-gradient(#4b4b4b, #303030);
    background-image: -webkit-linear-gradient(#4b4b4b, #303030);
    background-image: -o-linear-gradient(#4b4b4b, #303030);
    background: -ms-linear-gradient(#4b4b4b, #303030);
    background: linear-gradient(#4b4b4b, #303030);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4b4b4b', endColorstr='#303030',GradientType=0 ); /* IE6-9 */ /*position:relative;*/
    padding-top: 14px;
}
.akordeon-item .akordeon-item-body
{
    background: #424242; /* Old browsers */
    background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#424242), to(#303030));
    background-image: -moz-linear-gradient(#424242, #303030);
    background-image: -webkit-linear-gradient(#424242, #303030);
    background-image: -o-linear-gradient(#424242, #303030);
    background: -ms-linear-gradient(#424242, #303030);
    background: linear-gradient(#424242, #303030);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#424242', endColorstr='#303030',GradientType=0 ); /* IE6-9 */ /* min-height: 100px;     padding: 10px;*/
    border-bottom: none;
    overflow: hidden;
}
.akordeon-icon
{
    width: 34px;
    height: 30px;
    background: #c9f055; /* Old browsers */
    background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#c9f055), to(#95e21a));
    background-image: -moz-linear-gradient(#c9f055, #95e21a);
    background-image: -webkit-linear-gradient(#c9f055, #95e21a);
    background-image: -o-linear-gradient(#c9f055, #95e21a);
    background: -ms-linear-gradient(#c9f055, #95e21a);
    background: linear-gradient(#c9f055, #95e21a);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c9f055', endColorstr='#95e21a',GradientType=0 ); /* IE6-9 */
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px; /* position: absolute;     left: -8px;       top:14px;*/
    padding: 0;
    margin: 0;
    float: left;
    cursor: pointer;
    behavior: url(PIE.htc);
}
.akordeon-heading
{
    float: left;
    padding-left: 10px;
    padding-top: 8px;
    font-weight: bold;
}
.akordeon-icon span
{
    color: #83a626;
    font-size: 36px;
    position: absolute;
    left: 6px;
    top: -6px;
    font-weight: bold;
    text-align: center;
}
.akordeon-item.expanded .akordeon-icon span
{
    top: -9px;
}
.akordeon-item-head-container
{
    width: 100%;
    position: absolute;
    left: -8px;
    cursor: pointer;
}

.akordeon-item.expanded .akordeon-item-body
{
    border-top: solid 1px #5c5c5c;
}
.akordeon-item.collapsed
{
}

.akordeon-item.expanded .akordeon-heading
{
    color: #c9f055;
}

.akordeon-item.expanded .akordeon-item-head
{
    background: #424242 !important; /* Old browsers */
    background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#424242), to(#303030)) !important;
    background-image: -moz-linear-gradient(#424242, #303030) !important;
    background-image: -webkit-linear-gradient(#424242, #303030) !important;
    background-image: -o-linear-gradient(#424242, #303030) !important;
    background: -ms-linear-gradient(#424242, #303030) !important;
    background: linear-gradient(#424242, #303030) !important;
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#424242', endColorstr='#303030',GradientType=0 ) !important; /* IE6-9 */ /* -webkit-box-shadow: 0px 10px 0px rgba(92, 92, 92, 0.75);     -moz-box-shadow: 0px 10px 0px rgba(92, 92, 92, 0.75);     box-shadow: 0px 10px 0px rgba(92, 92, 92, 0.75);*/
}
.akordeon-item-content
{
    padding: 10px;
    min-height: 120px;
    height: 180px;
    overflow:auto;
}
.akordeon-border-bottom
{
    border-bottom: solid 1px black;
}
.akordeon-border-top
{
    border-top: solid 1px black;
}
.akordeon-item.expanded .akordeon-item-body.akordeon-border-bottom
{
    border-bottom: solid 1px black !important;
}
.akordeon-item.akordeon-item-first .akordeon-item-head
{
    -webkit-border-top-left-radius: 4px;
    -webkit-border-top-right-radius: 4px;
    -moz-border-radius-topleft: 4px;
    -moz-border-radius-topright: 4px;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    behavior: url(PIE.htc);
}

.akordeon-item.akordeon-item-last.collapsed .akordeon-item-head
{
    -webkit-border-bottom-right-radius: 4px;
    -webkit-border-bottom-left-radius: 4px;
    -moz-border-radius-bottomright: 4px;
    -moz-border-radius-bottomleft: 4px;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
    border-bottom: none;
    behavior: url(PIE.htc);
}
.akordeon-item.akordeon-item-last.expanded .akordeon-item-head
{
    -webkit-border-bottom-right-radius: 0px;
    -webkit-border-bottom-left-radius: 0px;
    -moz-border-radius-bottomright: 0px;
    -moz-border-radius-bottomleft: 0px;
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 0px;
    border-bottom: solid 1px black;
    behavior: url(PIE.htc);
}
.akordeon-item.akordeon-item-last.expanded .akordeon-item-body
{
    -webkit-border-bottom-right-radius: 4px;
    -webkit-border-bottom-left-radius: 4px;
    -moz-border-radius-bottomright: 4px;
    -moz-border-radius-bottomleft: 4px;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
    behavior: url(PIE.htc);
}

javascript

Подключаем jQuery и плагин с его инициализацией:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script src="js/jquery.akordeon.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $('#buttons').akordeon();
            $('#button-less').akordeon({ buttons: false, toggle: true, itemsOrder: [2, 0, 1] });
        });
    </script>

Опции плагина:

  • expadedItem:  Пункт будет расширен по умолчанию, первый пункт расширен по умолчанию
  • expadSpeed: Скорость анимации расширения пунктов, значение по умолчанию 200
  • toggle:  Если true каждый пункт может быть раскрыт и свернут,значение по умолчанию false
  • buttons: Нужно ли отображать кнопку свернуть/развернуть на каждом пункте, значение по умолчанию true
  • expandText: Текст для кнопки, когда пункт развернут, текст по умолчанию ‘–’
  • collapseText: Текст для кнопки, когда пункт свернут, текст по умолчанию ‘+
  • hiddenItem: 0 - индекс пункта который будет скрыт, -1 будет означать, что видны все
  • itemsOrder: Массив индексов если вы хотите изменить порядок отображения пунктов

СКАЧАТЬСкачек: 1394
64,71 Kb
Кто скачал?

ДЕМОПосмотреть
пример