发表于: 2020-05-11 23:01:26
1 1440
今天完成的事情:
花了两个半小时修复了css任务14,15出现的问题。
任务步骤分步学习,分析坑乎师兄的代码,拆分属性进行学习。开始尝试写JS。但是对于如何进行随机抽取三个格子方法看不懂。
onclick事件将发生在click事件之前(on的含义在。之上)
document.getElementById("btn2").onclick();
document.getElementById("btn2").click();
先触发onclick,在触发click。在html里面都是在标签里写的 onclick=“”
function 命令(函数)
function
命令声明的代码区块,就是一个函数。function
命令后面是函数名,函数名后面是一对圆括号,里面是传入函数的参数。函数体放在大括号里面。函数也会“变量提升”,总是先加载。
关于引号:
引号(同类型的引号,单引号和双引号是不同类型)是成双对的,在读第一个引号时开始,读到第二个结束,遇到第三个又开始,第四个又结束。
不同类型引号之间可以嵌套,最多2层(单双引号,当然通过转义/" /' 可以继续往下套,但是因为可读性太差,不要这样做);
单引号和双引号在各自单独用时是木有什么区别的,都可以
如何写一个click事件:目前查到的有三种写法
<button id="btn">click</button>
<script type="text/javascript">
var btn = document.getElementById("btn");
btn.οnclick=function(){
alert("hello world");
}
</script>
分析:先声明变量btn取得按钮的id,变量btn绑定onclick=函数输出消息为hello world。
<button id="btn">click</button>
var btn = document.getElementById("btn");
btn.addEventListener('click',function(){ alert("hello wrold");
},false)
分析:也是先声明变量,取得id.添加事件句柄,绑定click事件,函数改变样式。
function test(){ alert("hello world"); }
<button id="btn" "test()">click</button>
分析:这个是js样式写在前面,先声明了函数名,函数体,在给按钮添加函数名,直接调用js样式
WEB标准下可以通过getElementById(), getElementsByName(), and getElementsByTagName() 访问DOCUMENT中的任一个标签
使用getElementByclassName()方法,使用指定的calss属性值(名称)返回当前文档中所有相关元素的集合(节点列表对象)。
节点列表对象代表了收集到的所有相关节点,可以使用序列号(index)访问节点列表,index的值从0开始。
例如: var btn= document.getElementByclassname("btn") .
声明btn返回按钮样式集合,接下来就可以通过操作变量btn来进行操控样式。
如何使用js修改css样式:
首先获取小格子的dom节点:var a = document.getElementByclassname("box")
接下来通过变量a进行操作:a[5].style.color = '#fff'
搜索如何获得随机颜色代码,有三个:
function
colorRandom() {
var
a, b, c;
var
a = parseInt(255 - Math.random() * 255).toString(16);
var
b = parseInt(255 - Math.random() * 255).toString(16);
var
c = parseInt(255 - Math.random() * 255).toString(16);
colorStr =
'#'
+ a + b + c;
//alert(str)
};
解析:声明三个变量abc,分别获取:字符串转换整数(255 - 数学对象随机()乘255).逻辑值转换十六进制输出,然后组合字符#形成颜色代码
function colorRandom() {
colorStr = "#"+("00000"+((Math.random()*16777215+0.5)>>0).toString(16)).slice(-6);
//alert(str) };
解析:符号 # + 16777215为16进制的颜色ffffff转成10进制的数字 >>数字取整 转成16进制 不足6位的以0来补充
function colorRandom() {
colorStr = "#"+("00000"+(Math.random()*0x1000000<<0).toString(16)).slice(-6); //alert(str) };
基本等同第二条。
如何获取随机三个小盒子:(取自坑乎师兄代码)
解析:
声明变量box (也就是九个盒子),变量newbox为空。
循环(k=0;k>3;k+1){
ran = 四舍五入整数(数学对象.随机数值() 乘以 (0-8 . 实时参数个数-1));
newbox.push/意为数组后面添加新的数值/(box变量【获取的变量ran】);
box。删除(变量ran,1)
}
在控制台输出信息(newbox的值)
看不懂,看不懂。暂时理解不了。
push() 方法主要用于向数组的末尾添加一个或多个元素,其返回值为添加后新的长度,即push后的数组长度,该值为number类型。
明天计划的事情:
好好学习需要用到的属性,各个属性的理解不到位代码给出来都看不懂。。
尝试使用第二种方法写个click函数,有点懵逼,报错了。试着写在html里也一样。
看了下函数首字母是大写改为小写就没事了。。但是点击按钮运行还是报错。
显示未捕获的 littlebox。试着在littlebox加上双引号,又显示说Uncaught TypeError: b[0].alert is not a function提示说b【0】非函数、
后面更改了下写法就没事了。
对于js的基础属性都不熟悉,对于如何实现随机抽取三个小格子变色没什么思路。看了几个不一样的方法都不太理解属性和思路。
评论