把<script></script>放到head里点击不行,是什么原因?

来源:3-3 折翼天使表现特性一:去浮动

Alan_0020

2015-07-08 13:31

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>折翼天使表现特性一:去浮动</title>

<style>

input[type=button] {

    height: 32px;

    font-size: 100%;    

}

</style>

<script>

var flbtn = document.getElementById("float"),

    button = document.getElementById("button"),

    image2 = document.getElementsByTagName("img")[1];

if (flbtn && button && image2) {

    var value_init = button.value;

button.onclick = function() {

if (this.value == value_init) {

image2.style.position = "absolute";

this.value = "撤销";

} else {

image2.style.position = "";

this.value = value_init;

}

};

flbtn.onclick = function() {

image2.style["cssFloat" in this.style? "cssFloat": "styleFloat"] = "left";

};

}

</script>

</head>


<body>

<img src="http://img.mukewang.com/54447b06000171a002560191.jpg">

<img src="http://img.mukewang.com/54447f4a0001eb7d01910256.jpg">

<img src="http://img.mukewang.com/54447f550001ccb002560191.jpg">

<p><input type="button" id="float" value="点击第2张图片应用float:left"></p>

<p><input type="button" id="button" value="点击第2张图片应用position:absolute"></p>


</body>

</html>


写回答 关注

1回答

  • 康振宁
    2015-07-08 13:59:06

    是因为你下面的元素还没进行加载,你就开始加载事件,那怎么可能加载的到

    两个解决办法:

    1、把script放在body的最后面

    2、在script写window.onload事件,把所有的js代码放在该事件中

CSS深入理解之absolute

理解CSSposition:absolute声明,掌握position:absolute高级应用

51956 学习 · 254 问题

查看课程

相似问题