查询类切换以更改跨度背景图像不起作用
query class toggle to change span background image not working
好了,我对jQuery的了解足以让我完成一些任务(显然除了这个任务)。
这句话的语境是:
我有一个手风琴菜单,有加减图像显示在菜单的左侧。我希望它们在子表可见时改变。
我的代码中有一些错误,不允许这种情况发生。当你点击其中一个选项时,它会变成减号,当你点击另一个选项时,它会变成加号。
问题:当一个区域被展开后,如果你再次点击visible选项来折叠该元素,accordion类也不会改变。
这是一个jsfiddle演示http://jsfiddle.net/mKUNs/
这是一个固定的版本。
你的文档结构很糟糕。您的表只有一个单元格,并且标题和可切换部分之间仅通过邻接关系进行关联。您最好更改您的标记,以便每个accordian都被<div>
/<section>
包围。
另外,你过度使用id
s,你的CSS应该全部从文档中取出。align="center"
应该而不是。最后,为什么要把expand
ed和collapse
d的课程搞得一团糟呢?这两个是互斥的,所以只使用一个类!
你应该这样做:
HTML
<div class='accordian'>
<h3><span class='icon'></span>Option 1</h3>
<div>
the box should be black now, if you click this option
again it should turn white
</div>
</div>
<div class='accordian' id='weekly'>
<h3><span class='icon'></span>Option 2</h3>
<div>
the box should be black now, if you click this option
again it should turn white
</div>
</div>
CSS: .accordian h3 {
background-color:#689937;
color:#fff;
height:30px;
}
.accordian .icon {
background-color:#fff;
background-size:25px;
background-repeat: no-repeat;
height:25px;
width:25px;
padding-left:5px;
float:left;
}
.accordian.collapsed .icon {
background-color:#000;
}
jQuery $('.accordian').each(function() {
var accordian = $(this);
var header = accordian.find('h3');
var content = accordian.find('div');
header.click(function() {
content.slideToggle('medium');
accordian.toggleClass('collapsed');
});
content.hide();
accordian.addClass('collapsed');
});
相关文章:
- 可以在这里为背景图像设置滤镜吗
- 使用 js 将背景图像设置为 HTML
- 如何使用css动画/javascript使具有背景图像的元素出现
- 循环浏览多个身体背景图像
- 背景图像顶部的滚动图像不移动
- 在pdfmake中嵌入背景图像
- 修复选择菜单时的背景图像
- 使用css()设置背景图像;不起作用
- 鼠标悬停时如何居中放大背景图像
- 强制谷歌为javascript背景图像编制索引
- 淡入不带HTML的背景图像
- 具有淡入淡出效果的全背景图像
- 未加载随机背景图像
- 背景图像前显示Javascript警报
- javascript背景图像位置循环
- CSS动画背景图像的过渡越来越暗
- "Ken Burns效应”;悬停背景图像
- 通过ID JavaScript显示随机背景图像
- JavaScript背景图像
- 带有图像和背景图像的ClipTo