Tim*_*per 15
使用jQuery的slideToggle()方法可以帮助你做到这一点.
HTML:
<div id="contact">
Contact me!
</div>
<a href="#" id="toggle">Contact</a>
Run Code Online (Sandbox Code Playgroud)
CSS:
#contact
{
display: none;
background: grey;
color: #FFF;
padding: 10px;
}
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
$(function()
{
$("a#toggle").click(function()
{
$("#contact").slideToggle();
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
Thi*_*iff 13
如果你不想使用jQuery,你可以坚持使用现代浏览器,你可以尝试:
演示:http://jsfiddle.net/ThinkingStiff/EVyE8/
HTML:
<div id="slide">click me</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
#slide {
height: 50px;
transition: height 500ms ease;
-moz-transition: height 500ms ease;
-ms-transition: height 500ms ease;
-o-transition: height 500ms ease;
-webkit-transition: height 500ms ease;
}
Run Code Online (Sandbox Code Playgroud)
脚本:
document.getElementById( 'slide' ).addEventListener( 'click', function() {
this.style.height == '50px' || this.style.height == ''
? this.style.height = '150px'
: this.style.height = '50px';
}, false );
Run Code Online (Sandbox Code Playgroud)
还有另一个示例,但是没有jquery,并且有一个类添加/删除方法:)
演示:http://jsfiddle.net/1wbh8pqj/
主要思想是你有两个类,其中一个适用于滑块,另一个表示滑块在展开时应该如何显示.
.slider {
height: 0px;
overflow: hidden;
transition: height 0.5s ease;
-moz-transition: height 0.5s ease;
-ms-transition: height 0.5s ease;
-o-transition: height 0.5s ease;
-webkit-transition: height 0.5s ease;
}
.slided {
height: 100px;
}
Run Code Online (Sandbox Code Playgroud)
所以,你必须将"滑动"类设置滑块时,它已经被扩展,并删除它时,滑块必须被收缩,并采用了超巨型尤伯杯真棒CSS过渡,高度将顺利变化:)
var expander = document.getElementById("expander");
expander.addEventListener("click", function () {
var slider = document.getElementsByClassName("slider")[0];
if (slider.classList.contains("slided")) {
slider.classList.remove("slided");
} else {
slider.classList.add("slided");
}
});
Run Code Online (Sandbox Code Playgroud)
哦,html:
<div class="slider">i am teh slidah!! :D</div>
<div class="content">and i am the content XD</div>
<div id="expander">click me to expand/hide the slidah! :O</div>
Run Code Online (Sandbox Code Playgroud)