js怎么做一个div宽度变化的动画

JavaScript06

js怎么做一个div宽度变化的动画,第1张

<script>

    var i = 100

    var text = document.getElementById("text")

    function test() {                 

   

        var div = text.parentNode  //取得id=objID对象的父节点        

        var width = div.offsetWidth //取得元素宽度        

        

        if (i < 1001) {//如果小于1000的话就把div宽度+1

            i++

            div.style.width = i + "px"  

        }                

    }

    //test("text")

    text.onclick = function(){//点击执行

        //不断执行div宽度+1

        setInterval('test()',5)

    } 

    </script>

你的问题在于用了for循环了,应该用定时器~

希望我的回答能帮到你哈,有问题可以追问,觉得好就点个赞,有用就采纳!

你试试看

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>请调整浏览器窗口 </title><meta http-equiv="content-type" content="text/htmlcharset=gb2312">

</meta></head>

<body>

<h2 align="center">请调整浏览器窗口大小 </h2><hr />

<form action="#" method="get" name="form1" id="form1">

<!-- 显示浏览器窗口的实际尺寸 -->

浏览器窗口 的 实际高度 : <input type="text" name="availHeight" size="4"/><br />

浏览器窗口 的 实际宽度 : <input type="text" name="availWidth" size="4"/><br />

</form>

<script type="text/javascript">

<!--

var winWidth = 0

var winHeight = 0

function findDimensions() // 函数:获取尺寸

{

// 获取窗口宽度

if (window.innerWidth)

winWidth = window.innerWidth

else if ((document.body) &&(document.body.clientWidth))

winWidth = document.body.clientWidth

// 获取窗口高度

if (window.innerHeight)

winHeight = window.innerHeight

else if ((document.body) &&(document.body.clientHeight))

winHeight = document.body.clientHeight

// 通过深入 Document 内部对 body 进行检测,获取窗口大小

if (document.documentElement &&document.documentElement.clientHeight &&document.documentElement.clientWidth)

{

winHeight = document.documentElement.clientHeight

winWidth = document.documentElement.clientWidth

}

// 结果输出至两个文本框

document.form1.availHeight.value= winHeight

document.form1.availWidth.value= winWidth

if(winWidth <1000){

document.getElementById("table_m").width="1000"

}else{

document.getElementById("table_m").width = "100%"

}

}

findDimensions()

// 调用函数,获取数值

window.onresize=findDimensions

//-->

</script>

<table id="table_m" width="100%"><tr><td width="206" height="200">固定 <img src="" width="10" /></td><td width="100%" align="center"><table border="0" cellspacing="0" vspace="0" width="95%"><tr><td align="center" height="190" bgcolor="#999999">可变</td></tr></table></td><td width="206">固定<img src="" width="10" /></td></tr></table>

</body>

</html>

变量没什么问题的,你看看,这个s有没有值,是不是加载js时,还没到body那儿,也就计算不出客户端的宽度。以下是具体实现代码:

具体公式是:

var  s = document.body.clientWidth

document.getElementById("body1").innerHTML=s

document.getElementById("body1").style.width="200px"

这个问题我自然想到过,所有时时都把S 是值显示出来了,S是有效的数字型的变量。