兄弟你几个地方写错了
1、js事件名称写错了。是onclick不是onclik,少了一个c
2、获取控件是getElementById,不是getElemenById,少了一个t
3、逻辑不够严谨,如果文本框没有输入内容就提示对了。
修改后的代码如下:
<!DOCTYPE html><html>
<head>
<mate charset="UTF-8">
<title>Insert title here</title>
<script>
//网页加载时直接生成随机数,
//该数在body加载钱就有了,所以
//用户点击猜时在对应函数内可以用。
//0<=x<1
var ran = parseInt(Math.random() * 100)
//无论此函数写在前面还是这里,它都是在用户点击按
//钮时调用的,它都比生成的随机数执行的晚。
function guess() {
//获取文本框里的值
var n = document.getElementById("num").value
var span = document.getElementById("result")
if (n == "") {
span.innerHTML = "请在文本框输入数字"
return
}
//判断该值是否为数字
if (isNaN(n)) {
//不是数字,给予提示
span.innerHTML = "请输入数字"
} else {
//是数字,和随机数比较
if (n < ran) {
span.innerHTML = "太小了"
} else if (n > ran) {
span.innerHTML = "太大了"
} else {
span.innerHTML = "对了"
}
}
}
</script>
</head>
<body>
<input type="text" id="num" />
<input type="button" value="猜" onclick="guess()" />
<span id="result"></span>
</body>
</html>
1、obj1你可以将其理解为一个物体,在网页中的表现他可能就是一个dom节点。2、getStyle函数所做的事情是取节点样式的值,其中ele表示的是需要取样式值得dom节点,attr表示的是需要取哪个样式?currentStyle和getComputedStyle是浏览器支持的,之所以这样写是为了兼容各个浏览器。
3、etStyle(obj1,'left')就是去obj1这个元素距离左边的偏移量,是距离网页最左边还是父元素要看当前元素是什么定位。
4、最后的if判断就是判断两个元素有没有碰撞到。
这个one是个形参(形式参数),而 abc(this) 的this则是实参(实际参数),两者实际上是相同的,每次调用时abc后面的括号里放什么参数,函数里的one就等于这个参数。而this是每次点击时的a标签,因此one.getAttribute("href")实际上就是获取所点击的a标签的href属性。
参数是可以任意命名的,前提是必须符合js的命名规则(比如不能使用js的保留字)。
下面用个更简单点的例子帮助你理解:
function abc(x){ //这里把参数名设为x了,不是one了alert(x)
}
abc(1) //这里实参是1,那么函数里的形参x就是1
var a = 123
abc(a) //实参用变量也是一样意思的,这时候x就等于123了