如何使用JAVASCRIPT调用APSE div

如何使用JAVASCRIPT调用APSE div,javascript,Javascript,如何使用JAVASCRIPT调用APSE div NoAJAX,NoJQuery,只有纯javascript 我的朋友试图不工作 例如: <button type="button" onclick="test();">click!</button> <div id = "page"> a <br> b <br> c <br> d <br> e <br> f </div> <s

如何使用JAVASCRIPT调用APSE div

NoAJAXNoJQuery,只有纯javascript

我的朋友试图不工作

例如:

<button type="button" onclick="test();">click!</button>

<div id = "page">
a
<br>
b
<br>
c
<br>
d
<br>
e
<br>
f
</div>  

<script type="text/javascript">
function test() {
    var height = document.getElementById('page').offsetHeight;
    myLoop(height);
}


function myLoop (height) {           
   setTimeout(function () {                      
      if (height > 0) {      
        console.log(height);
        height--;     
        document.getElementById('page').style.width=height+'px';
        myLoop(height);             
      }                        
   }, 1)
}
</script>
点击!
A.

B
C
D
E
F 功能测试(){ var height=document.getElementById('page')。offsetHeight; myLoop(高度); } 函数myLoop(高度){ setTimeout(函数(){ 如果(高度>0){ 控制台。原木(高度); 高度--; document.getElementById('page').style.width=height+'px'; myLoop(高度); } }, 1) }

你能帮我吗?谢谢。

这可以通过CSS转换轻松完成。不需要设置超时()。它只需要JavaScript就可以触发添加CSS类,直接调整元素的
高度。将为您执行
高度的实际动画

这是一个比
setTimeout()
更好的解决方案,因为(取决于客户端的处理能力),
setTimeout()
可能会导致不稳定的动画,而且CSS在性能方面更便宜

var目标=null;
addEventListener(“DOMContentLoaded”,function()){
//获取对目标的引用并存储在范围更大的变量中
//这样我们以后就不用再扫描了。
target=document.getElementById('page');
var h=window.getComputedStyle(target).height;//获取其计算高度
target.style.height=h;//显式设置该高度
});
// ****************************************************************
//获取对按钮“触发器”的引用并设置
//它的单击事件处理程序。在JavaScript中执行此操作,
//不是通过HTML事件属性,如“onclick”。
var btn=document.getElementById(“btnHide”);
btn.addEventListener(“单击”,隐藏);
函数hide(){
//只需应用一个重置高度的类。
//因为元素是为转换预先配置的
//高度的变化将设置动画。
target.classList.add(“隐藏”);
}
// ****************************************************************
var btn=document.getElementById(“btnShow”);
btn.addEventListener(“单击”,显示);
函数show(){
//只需删除导致元素隐藏的类
target.classList.remove(“隐藏”);
}
// ****************************************************************
//此代码只需一个按钮“触发器”即可显示/隐藏
var btn=document.getElementById(“btnToggle”);
btn.addEventListener(“单击”,切换);
函数切换(){
//只需删除导致元素隐藏的类
target.classList.toggle(“隐藏”);
}
/*要设置动画的元素的默认样式*/
.目标{
/*这将在将来可能更改的所有属性上设置转换
在2秒的时间内将其设置为新值*/
过渡:所有2;
/*这是让内容真正消失所必需的。没有它,
当div缩小时,内容将溢出边界
并继续展示*/
溢出:隐藏;
}
/*单击触发器按钮时应用此选项。
!重要信息是重写应用的内联样式所必需的
通过代码。
*/
.hidden{高度:0!重要;}
隐藏
显示
切换显示/隐藏
A.

B
C
D
E
F
这可以通过CSS转换轻松完成。不需要设置超时()。它只需要JavaScript就可以触发添加CSS类,直接调整元素的
高度。将为您执行
高度的实际动画

这是一个比
setTimeout()
更好的解决方案,因为(取决于客户端的处理能力),
setTimeout()
可能会导致不稳定的动画,而且CSS在性能方面更便宜

var目标=null;
addEventListener(“DOMContentLoaded”,function()){
//获取对目标的引用并存储在范围更大的变量中
//这样我们以后就不用再扫描了。
target=document.getElementById('page');
var h=window.getComputedStyle(target).height;//获取其计算高度
target.style.height=h;//显式设置该高度
});
// ****************************************************************
//获取对按钮“触发器”的引用并设置
//它的单击事件处理程序。在JavaScript中执行此操作,
//不是通过HTML事件属性,如“onclick”。
var btn=document.getElementById(“btnHide”);
btn.addEventListener(“单击”,隐藏);
函数hide(){
//只需应用一个重置高度的类。
//因为元素是为转换预先配置的
//高度的变化将设置动画。
target.classList.add(“隐藏”);
}
// ****************************************************************
var btn=document.getElementById(“btnShow”);
btn.addEventListener(“单击”,显示);
函数show(){
//只需删除导致元素隐藏的类
target.classList.remove(“隐藏”);
}
// ****************************************************************
//此代码只需一个按钮“触发器”即可显示/隐藏
var btn=document.getElementById(“btnToggle”);
btn.addEventListener(“单击”,切换);
函数切换(){
//只需删除导致元素隐藏的类
target.classList.toggle(“隐藏”);
}
/*要设置动画的元素的默认样式*/
.目标{
/*这将在将来可能更改的所有属性上设置转换
在2秒的时间内将其设置为新值*/
过渡:所有2;
/*这是内容真正消失所必需的