页面中的多个滑动面板

multiple slide panels in a page

本文关键字:      更新时间:2023-09-26

我在同一页中有多个jQuery sliding panel,但当我显示或隐藏一个面板时,其他面板也会显示或隐藏。有人能解决这个问题吗?谢谢

code: 
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript"> 
$(document).ready(function(){
$(".flip").click(function(){
    $(".panel").slideToggle("slow");
  });
});
</script>
<h3>Category: Health</h3>
<div class="panel" >
#{ifnot Posts}
    No posts to view
#{/ifnot}
<ul>
    #{list items:Posts, as: 'Post'}
    <li>
        <p>${Post.poster}</p><p>${Post.content}</p>
    </li>
    #{/list}
</ul>
    <a id="addpost" href="#">add new Health's post</a>
</div>
<p value="health" class="flip">Show/Hide Posts</p>
<h3>Category: Politics</h3>
<div class="panel">
#{ifnot Posts}
    No posts to view
#{/ifnot}
<ul>
    #{list items:Posts, as: 'Post'}
    <li>
        <p>${Post.poster}:</p><p>${Post.content}</p>
    </li>
    #{/list}
</ul>
<p>
    <a id="addpost" href="#">add new Politic's post</a>

</p>
</div>
<p id="health" class="flip">Show/Hide Posts</p>
<h3>Category: Entertainment</h3>
<div class="panel">
#{ifnot Posts}
    No posts to view
#{/ifnot}
<ul>
    #{list items:Posts, as: 'Post'}
    <li>
        <p>${Post.poster}</p><p>${Post.content}</p>
    </li>
    #{/list}
</ul>
<p>
    <a id="addpost" href="#">add new Entertainment's post</a>
</p>
</div>
<p id="entertainment" class="flip">Show/Hide Posts</p>

选择器将一个函数应用于所有与其匹配的元素

$(".panel").slideToggle("slow");

将匹配具有面板类的所有元素。

一个简单的解决方案是使用id来识别你想要操作的面板

<div id="panel1" class="panel"> .. </div>
<div id="panel2" class="panel"> .. </div>
<div id="panel3" class="panel"> .. </div>

然后在jquery选择器地址中,该面板显式使用

$("#panel1").slideToggle("slow");
相关文章:
  • 没有找到相关文章