jQuery 隐藏和显示带有指示器的 div

标签 jquery css show-hide

使用下面的 jQuery 来切换文本 div 的隐藏和显示:当 div 打开和关闭时,我如何向标题添加某种指示符(例如作为图形的向上和向下箭头)?最好的方法是什么?两个图像?一个 CSS Sprite ?最重要的是:如何将其集成到 JS 中?

我看过其他 jQuery,它为每个 div 分配一个随机数,然后确定哪些是打开的,哪些是关闭的,并切换两个图像之一。但是我在 WordPress 循环中使用 php 来显示帖子,这给循环递增带来了问题,因此必须有一种更简单的方法,不需要更改标题 div 的名称。谢谢....

此 JS 触发显示和隐藏。每个 div 都可以独立展开和折叠。

$(document).ready(function() {
  $('div.demo-show:eq(0)> div').hide();  
  $('div.demo-show:eq(0)> h3').click(function() {
    $(this).next().slideToggle('fast');
  });
});

这是它使用的 HTML:

<div class="collapser">

<p class="title">Header-1 </p>
<div class="contents">Lorem ipsum</div>

<p class="title">Header-2</p>
<div class="contents">Lorem ipsum </div>

<p class="title">Header-3</p>
<div class="contents">Lorem ipsum</div>

</div>

CSS 是任意的:

.collapser {
margin: 0;
padding: 0;
width: 500px;
}

.title {
margin: 1px;
color: #fff;
padding: 3px 10px;
cursor: pointer;
position: relative;
background-color:#c30;
}

.contents {
padding: 5px 10px;
background-color:#fafafa;
}

最佳答案

您可以使用 toggleClass 方法在点击处理程序上设置类。向上或向下。每个类(class)都会有适当的背景图像集。

在您的点击处理程序中

$('.collapser').toggleClass('up down');

你的 html 看起来像这样

<div class="collapser up">
</div>

关于jQuery 隐藏和显示带有指示器的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4543739/

相关文章:

javascript - 如何按顺序为菜单元素制作动画

javascript - 如果没有行则隐藏表头

javascript - 获取与字符串值同名的变量的值

html - 使容器不占用更多剩余空间

javascript - 我怎样才能使这个活跃的点击?

C# 窗口高度只会变大,不会变小

jquery - 如何添加显示:inline-block in a jQuery show() function?

jquery - 如何判断表格行是否可见?

html - 悬停图像输入提交按钮不适用于 ie 7 和 8

javascript - 如何制作悬停时出现的 div,在 jquery 或 css 中悬停时停留