【发布时间】:2018-09-29 03:28:19
【问题描述】:
在由其 href 值 href="javascript:animatedcollapse.toggle('ID')" 指定的某些链接上选择时,我有一个表格下拉列表。单击后,它将显示说明并使用 animatedcollapse.js 插件按预期工作。
不起作用并尝试合并的部分是当单击带有href="javascript:animatedcollapse.toggle('AAA')" 的任何<a> 标签时,将箭头向上转换,它将指向该箭头(<a href="javascript:animatedcollapse.toggle('AAA')" class="link AAA"><span class="arrow"></span></a>)使用与标识符相同的类名,然后通过添加类.arrow-up 来操作该类名.arrow,以便在折叠描述时将其转换回默认值 (.arrow-down)。
这是 jsfiddle:https://jsfiddle.net/o2gxgz9r/73382/
HTML:
<tr>
<td style="vertical-align:top; width:64px">
<a class="AAA" href="javascript:animatedcollapse.toggle('AAA')">AAA</a>
</td>
<td style="vertical-align:top; width:585px">
<a class="AAA" href="javascript:animatedcollapse.toggle('AAA')">Heading 1</a>
<a href="javascript:animatedcollapse.toggle('AAA')" class="link AAA"><span class="arrow"></span></a>
<p id="AAA" groupname="table-dropdown" speed="400" style="display: none;">DESCRIPTION - Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum</p>
</td>
</tr>
CSS:
.arrow {
margin-left: 8px;
border-right: 5px solid #000;
border-bottom: 5px solid #000;
width: 11px;
height: 11px;
transform: rotate(45deg);
transition: .25s transform;
}
.arrow-up {
transform: rotate(-135deg);
transition: .25s transform;
}
.arrow-down {
transform: rotate(0deg);
transition: .25s transform;
}
JS:
// transform .arrow when show/hide collapse
var classID;
$('a[href*="animatedcollapse"]').click(function(){ // detect any href with animatedcollapse clicked
classID = $(this).attr(class); // get the class name of the elememt that was clicked on
$(classID).find('.link').children('.arrow').toggleClass('arrow-up'); // find class with .link and toggleClass its children with class name .arrow
console.log(classID + ' was clicked!');
});
【问题讨论】:
标签: javascript jquery css css-transforms