js日记

js内部引入方式

//js内部引入方式
<a href = 'javascript:alert(2);'>弹出</a>
<div onclick='alert(3);'>弹出</div>

输入数据类型

//输入数据类型
typeof(a)

字符串以数字开头,int(flaot)取整数(小数),字母开头取字母;

//字符串以数字开头,int(flaot)取整数(小数),字母开头取字母;
parseInt和parseFloat

for遍历数组,只能遍历下标

for in可以遍历其中的插入字符

//for遍历数组,只能遍历下标
for(var i=0;i<arr.length;i++){
	console.log(arr[i]);
}
//for in可以遍历其中的插入字符
for(var i in arr){
	console.log(arr[i]);
}

创建对象的方式

object方法,json方式最常用,function方法

//创建对象的方式
var obj = new Object();
obj.name = 'kebo';
obj.age = '18';
obj.say = function(){
	console.log(this.name,this.age);
}
obj.say();

//json方式最常用
var obj = {name:'kobe',age:19,say:function(){
	console.log(this.name,this.age)
} };
obj.say();

//function方法
function Person(name,age){
	this.name = name;
	this.age = age;
	this.say = function(){
		console.log(this.name,this.age);
	}
}
var obj = new Object('kobe',30);
obj.say();

DOM操作

//常用节点
var odiv = document.getElementsById('div');
//调用数组用下标adiv[1],以下三种都是可以通过下标的形式调用第几个
var odiv = document.getElementsByClassName('div');
//name兼容不好,不常用
var odiv = document.getElementsByName('div');
var odiv = document.getElementsByTagName('div');

//获取网页标题
document.title;
//获取网页body
document.body;

//获取可视区宽高
document.documentElement.clientWidth;
document.documentElement.clientHeight;

window.onlond事件

window.onresize事件

//当窗口发生改变的时候会发生

获取属性

//只能获取行内样式
oDiv.id;
oDiv.className;
oDiv.style.width;
oDiv.style.backgroundColor;
//获取文本内容
oDiv.innerHTML;
//获取非行业样式兼容性
alert(getStyle(oDiv,'width'));
function getStyle(obj,name){
	return obj.currentStyle ? obj.currentStyle[name] : getComputedStyle(obj,null)[name];
}

//父节点与子节点
.oDiv.children[0].innerHTML;
.oDiv.parentNode;

//节点操作
创建节点createElement
删除节点removeChild
追加节点appendChild
插入节点insertBefore

var oLi = document.createElement('li');
	oLi.innerHTML = '赵云';
	/*oUl.appendChild(oLi);
	oUl.removeChild(oLi);*/
	var oLi1 = document.getElementById('li')
	oUl.insertBefore(oLi,oLi1);

onclick

可以写onclick = "change()"
然后下面写函数function change(){};

定时器

第一步获取div
第二步建立一次性定时器
var timer = setTimeout(functaion(){
	oDiv.style.display = "none";
},3000);
销毁一次性定时器
function test(){
	clearTimeout(timer);
}
建立周期性定时器
var timer = setInterval(function(){
},1000)
销毁周期性定时器
clearInterval(timer);

鼠标上移与鼠标移走事件
oDiv.onmouseover = function(){}
oDiv.onmouseout = function(){}
将i的值赋予oDiv对象
oDiv.innerHTML = i;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为减少 js 关键词的占用,此文件只占用“c$”一个关键词; * 使用时用: c$.函数名(参数列表); 或者 c$().函数名(参数列表) * 字符串操作函数、日期操作函数、数组操作函数等,直接增加到 String、Date、Array 类里面,便于直接使用 */ /** * 获取元素,或者在DOM加载完成时执行某函数 * @param arg 此参数为字符串时,认为是 c$.getElement 的缩写,用来获取元素。用法参考 c$.getElement * 如果 arg 是 function 则认为是 c$.ready 的缩写,在dom加载完成时执行。没有此参数则返回 c$ 对象。 * @param dom 需要选择的DOM对象,默认是 window.document * @return 没有arg参数时返回 c$ 对象,arg参数是字符串时返回查询的元素,arg参数是函数时没有返回内容。 * * @example * c$("mytext") // 返回 id 或者 name 为"mytext"的元素 * c$("#mytext") // 返回 id 为"mytext"的元素 * c$("@mytext") // 返回 name 为"mytext"的所有元素 * c$(".class1") // 返回 class 为"class1"的所有元素 * c$("$div") // 返回 标签 为"div"的所有元素 * c$("$div #text1") // 返回 div 标签里面 id 为"text1"的元素(支持多级查询,以空格分隔) * c$(function(){alert('执行DOM加载完成事件');}); // 为 c$.ready(fun) 的缩写 * * c$.函数名(参数列表) // 调用这工具类里面的函数 * c$().函数名(参数列表) // 调用这工具类里面的函数 */ var c$ = window.c$ = function(arg, dom) { // 如果没有参数,则返回 本对象;让程序可以这样写: c$().函数名(参数列表) if (arguments.length === 0) return c$; if (typeof arg == 'function') return c$.ready(arg); // 有参数则调用获取元素的函数,为 c$.getElement 的缩写 return c$.getElement(arg, dom); }; /** * 这是错误调试程序 * 当页面发生错误时,提示错误讯息;仅测试环境里会提示,正式环境下不提示错误。 * 注意:chrome、opera 和 safari 浏览器不支持 onerror 事件 * @param msg 出错讯息 * @param url 出错档案的地址 * @param sLine 发生错误的行 * @return true 返回true,会消去 IE下那个恼人的“网页上有错误”的提示 */ window.onerror = function(msg, url, sLine) { // 测试时可以提示出错信息;正式发布时不提示 if (c$.isTest) { var errorMsg = "当前页面的javascript发生错误.\n\n"; errorMsg += "错误: " + msg + "\n"; errorMsg += "URL: " + url + "\n"; errorMsg += "行: " + sLine + "\n\n"; errorMsg += "点击“确定”消去此错
很高兴回答您的问题!关于 JavaScript 实现雪花飘飘的效果,我可以提供以下实训日记: 第一步:创建 HTML 页面 首先,我们需要创建一个 HTML 页面,其中包含一个用于显示雪花效果的区域。我们可以使用 `<canvas>` 标签来实现。 ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Snowflakes Effect</title> <style> canvas { border: 1px solid #eee; } </style> </head> <body> <canvas id="canvas"></canvas> <script src="snowflakes.js"></script> </body> </html> ``` 在上面的代码中,我们创建了一个 `<canvas>` 标签,并给它一个 ID 为 “canvas”。同时,我们在页面底部引入了一个名为 “snowflakes.js” 的 JavaScript 文件。 第二步:实现 JavaScript 动画 接下来,我们需要编写 JavaScript 代码来实现雪花飘飘的效果。我们可以使用 `requestAnimationFrame()` 方法来进行动画渲染。 ```javascript // 获取 canvas 元素 const canvas = document.getElementById('canvas'); const ctx = canvas.getContext('2d'); // 获取屏幕宽度和高度 const width = window.innerWidth; const height = window.innerHeight; // 设置 canvas 宽度和高度 canvas.width = width; canvas.height = height; // 定义雪花数量 const snowflakesCount = 100; // 定义雪花数组 let snowflakes = []; // 定义雪花类 class Snowflake { constructor() { // 随机生成雪花的位置和大小 this.x = Math.random() * width; this.y = Math.random() * height; this.radius = Math.random() * 4 + 1; // 随机生成雪花的速度和方向 this.speedX = Math.random() * 3 - 1.5; this.speedY = Math.random() * 3 + 1; } // 绘制雪花 draw() { ctx.beginPath(); ctx.arc(this.x, this.y, this.radius, 0, Math.PI * 2); ctx.fillStyle = "white"; ctx.fill(); } // 更新雪花位置 update() { this.x += this.speedX; this.y += this.speedY; // 如果雪花超出屏幕,则重新生成 if (this.y > height) { this.y = -this.radius; this.x = Math.random() * width; } } } // 创建雪花对象并添加到数组中 for (let i = 0; i < snowflakesCount; i++) { snowflakes.push(new Snowflake()); } // 绘制雪花并进行动画渲染 function drawSnowflakes() { ctx.clearRect(0, 0, width, height); for (let i = 0; i < snowflakesCount; i++) { snowflakes[i].draw(); snowflakes[i].update(); } requestAnimationFrame(drawSnowflakes); } // 开始动画渲染 requestAnimationFrame(drawSnowflakes); ``` 在上面的代码中,我们首先获取了 `<canvas>` 元素和它的上下文对象,然后设置了 canvas 的宽度和高度,以适应屏幕大小。接着,我们定义了一个 `Snowflake` 类,用于生成雪花对象,包括雪花的位置、大小、速度和方向。然后,我们创建了一定数量的雪花对象,并添加到数组中。最后,我们使用 `requestAnimationFrame()` 方法进行动画渲染,每一帧都绘制雪花并更新它们的位置。 第三步:调试和优化 在实现过程中,我们还需要进行调试和优化。例如,我们可以调整雪花数量、大小和速度,以获得更好的效果。我们还可以添加其他效果,如背景色和阴影效果。 好了,以上就是实现 JavaScript 雪花飘飘效果的实训日记。希望对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值