首先请看这里的现场演示:http://khill.mhostiuckproductions.com/siteLSSBoilerPlate/
单击顶部中间的按钮,展开包含内容的部分。就其现状而言,这种扩张并没有活力。
考虑到下面的代码和杂乱无章,什么是最好的动画方式呢?我更喜欢使用CSS转换。我不担心手机,因为我的手机版本,这个按钮是隐藏的,不能点击。
jsFiddle: http://jsfiddle.net/HXVxs/
Javascript:
<script language="javascript">
function toggle() {
var ele = document.getElementById("toggleText");
var text = document.getElementById("displayText");
if(ele.style.display == "block") {
ele.style.display = "none";
text.innerHTML = "BUTTON";
}
else {
ele.style.display = "block";
text.innerHTML = "BUTTON";
}
}
</script>HTML:
<!-- BUTTON PLACED IN MY TOP BAR -->
<div class="topbar">
<div class="company-list top-border"><a id="displayText" href="javascript:toggle();">Click here to display customer list.</a></div>
</div>
<!-- TOP WIDGET (different from top-bar, placed above top-bar in my HTML structure) -->
<div class="top-widget">
<div class="company-list-toggle bottom-border" id="toggleText" style="display: none">
<p>Sample text here...</p>
<div class="company-list top-border"><a id="displayText" href="javascript:toggle();">Click here to display customer list.</a></div>
</div>
</div>CSS:
.top-widget { /* tried CSS3 transitions here and did not work */
position: absolute;
z-index: 100;
background: #2b332a;
}谢谢!
编辑:一个快速笔记..。标准手风琴不能解决我的问题。其理由是,标准手风琴显示它的内容点击包含的div元素。在我的情况下,按一下显示内容div的按钮与内容div本身是分开的。在这种情况下,调整常规手风琴是行不通的,否则我会从一开始就这么做的。
再次感谢!
发布于 2013-02-10 04:40:45
使用height (在0和scrollHeight之间切换)和CSS转换:小提琴
发布于 2013-02-10 04:08:58
作为一个随机示例,请查看:http://viralpatel.net/blogs/create-accordion-menu-jquery/
jQuery解决方案并不意味着您将失去CSS控件,恰恰相反。我和“手风琴”合作过很多次,他们在jQuery上工作得很好。浏览器的兼容性也很好。
发布于 2013-02-10 04:30:45
这是一个手风琴,有良好的风格和动画http://jqueryui.com/accordion/。检查页面一侧的示例。您可以查看源代码,单击页面底部的“查看源代码”。
https://stackoverflow.com/questions/14794503
复制相似问题