jQuery-FAQ-accordian-Slider是一款简单实用的jQuery FAQ手风琴特效。通过它可以制作于用户交互的问答FAQ系统。该特效只是简单的实现平滑过渡的手风琴效果,整个FAQ效果的样式可以通过CSS来完全自定义。

使用方法

HTML结构

该FAQ特效使用无序列表来制作,它的基本HTML结构如下:

<ul class="faq">

  <li class="q">
    <img src="img/arrow.png"> 
    Question 1
  </li>
  <li class="a">Answer 1</li>
  
  <li class="q">
    <img src="img/arrow.png"> 
    Question 2
  </li>
  <li class="a">Answer 2</li>

  <li class="q">
    <img src="img/arrow.png"> 
    Question 3
  </li>
  <li class="a">Answer 3</li>

</ul>       
              
CSS样式

为这个FAQ手风琴效果添加一些必要的CSS样式。

.faq li { padding: 20px; }

.faq li.q {
  background: #4FC2E;
  font-weight: bold;
  font-size: 120%;
  border-bottom: 1px #ddd solid;
  cursor: pointer;
}

.faq li.a {
  background: #3BB0D6;
  display: none;
  color:#fff;
}             
              

.rotate class用于小箭头旋转的CSS3样式:

.rotate {
  -moz-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}                
              
JAVASCRIPT

jQuery代码主要用于FAQ手风琴项的点击和它们的滑动效果的处理,以及小箭头的旋转的处理。

// Accordian Action
var action = 'click';
var speed = "500";


$(document).ready(function(){

  // Question handler
  $('li.q').on(action, function(){

    // gets next element
    // opens .a of selected question
    $(this).next().slideToggle(speed)

    // selects all other answers and slides up any open answer
    .siblings('li.a').slideUp();

    // Grab img from clicked question
    var img = $(this).children('img');

    // remove Rotate class from all images except the active
    $('img').not(img).removeClass('rotate');

    // toggle rotate class
    img.toggleClass('rotate');

  });

});