jquery 手风琴效果

代码:

<script type="text/javascript">
$(document).ready(function(){
    $(".accordion h3:first").addClass("active");
    $(".accordion p:not(:first)").hide();
    $(".accordion h3").click(function(){
        $(this).next("p").slideToggle("slow")
        .siblings("p:visible").slideUp("slow");
        $(this).toggleClass("active");
        $(this).siblings("h3").removeClass("active");
    });
});
</script>
<style type="text/css">
body { margin: 10px auto; width: 570px; font: 75%/120% Arial, Helvetica, sans-serif; }
.accordion { width: 480px; border-bottom: solid 1px #c4c4c4; }
.accordion h3 { background: #e9e7e7 url(images/arrow-square.gif) no-repeat right -51px; padding: 7px 15px; margin: 0; font: bold 120%/100% Arial, Helvetica, sans-serif; border: solid 1px #c4c4c4; border-bottom: none; cursor: pointer; }
.accordion h3:hover { background-color: #e3e2e2; }
.accordion h3.active { background-position: right 5px; }
.accordion p { background: #f7f7f7; margin: 0; padding: 10px 15px 20px; border-left: solid 1px #c4c4c4; border-right: solid 1px #c4c4c4; }
</style>
</head>
<body>
<div class="accordion">
  <h3 class="active">Question One Sample Text</h3>
  <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi 
    malesuada, ante at feugiat tincidunt, enim massa gravida metus, commodo 
    lacinia massa diam vel eros. Proin eget urna. Nunc fringilla neque vitae
    odio. Vivamus vitae ligula.</p>

<h3>This is Question Two</h3> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi malesuada, ante at feugiat tincidunt, enim massa gravida metus, commodo lacinia massa diam vel eros. Proin eget urna. Nunc fringilla neque vitae odio. Vivamus vitae ligula.</p> <h3>Another Questio here</h3> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi malesuada, ante at feugiat tincidunt, enim massa gravida metus, commodo lacinia massa diam vel eros. Proin eget urna. Nunc fringilla neque vitae odio. Vivamus vitae ligula.</p> <h3>Sample heading</h3> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi malesuada, ante at feugiat tincidunt, enim massa gravida metus, commodo lacinia massa diam vel eros. Proin eget urna. Nunc fringilla neque vitae odio. Vivamus vitae ligula.</p> <h3>Sample Question Heading</h3> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi malesuada, ante at feugiat tincidunt, enim massa gravida metus, commodo lacinia massa diam vel eros. Proin eget urna. Nunc fringilla neque vitae odio. Vivamus vitae ligula.</p> </div> </body> </html>

图片如下:

这里的background-position:right top;很有技巧.

right -51px;

刚开始图片是向下,点击后:

.accordion h3.active { background-position: right 5px; }

siblings([expr])

概述

取得一个包含匹配的元素集合中每一个元素的所有唯一同辈元素的元素集合。可以用可选的表达式进行筛选。

找到每个div的所有同辈元素。

HTML 代码:

<p>Hello</p><div><span>Hello Again</span></div><p>And Again</p>
jQuery 代码:

$("div").siblings()
结果:

[ <p>Hello</p>, <p>And Again</p> ]

 via:http://www.w3cmm.com/jquery/folding-panel.html

原文地址:https://www.cnblogs.com/youxin/p/2942044.html