@H_3010@前言
@H301_0@最近闲来无事,准备写个雪花飘落的效果,没有写太牛逼的特效,极大的简化了代码量,这样容易读取代码,用起来也很简单,对于那些小白简直是福利啊,简单易读易学。先直接上代码吧,然后再一一讲解,直接复制粘贴就可以拿来用了,改起来更是容易。
<div class="jb51code">
<pre class="brush:xhtml;">
<!DOCTYPE html> <Meta charset="UTF-8">
<style type="text/css">
body{background: black;height: 100%;overflow: hidden;}
.xh{cursor: pointer;}
前提摘要:
我这个用了jq,当然也可以用原生写,只是jq比较省事,所以就用了jq。 @H_301_0@首先引入jq:
这个需要根据自己的真实目录来写,引入的时候注意两点:
@H_301_0@ 一、记住一般引入的话最好放到整个页面的最下面,因为在页面加载的时候是从上往下加载的,如果jq引入的时候在样式的上面就会使得页面加载速度慢,影响用户体验,所以放在下面就会使得先加载样式和图片,有利于用户体验。
@H_301_0@ 二、引入的时候不要放到依赖jq代码的下面,因为页面加载从上往下加载,要是放到下面的话就会使得依赖的代码找不到jq变量和方法,就会报错。
@H_301_0@二、在写之前先想一下需要的变量,然后定义一下变量:
@H_301_0@我们做的是雪花飘落,所以我用*好来代替雪花,所以我们就要知道定义一个雪花,var flak = $("").css({position:"absolute","top":"0px"}).html("❉");
//定义一个雪花 ,然后我们要想一下雪花的属性,知道雪花的几个属性。
@H_301_0@ 1、我们知道下雪的时候雪花的大小是不一样的,所以我们在定义雪花大小的时候要用个最大雪花和最小雪花的尺寸,在js 指定间隔执行函数setinterval中我们用了随机数,使得雪花随机生成在最大的到最小的之间的尺寸:
@H_301_0@ var sizeflak = minSize+Math.random()*(maxSize-minSize);
//产生大小不等的雪花
@H_301_0@ 2、定义一下间隔执行函数的间隔,这个也可以不定义,直接写上也行
@H_301_0@ 3、定义一下雪花的自身固定属性颜色,定义一下视图的宽度。
@H_301_0@三、根据之前定义变量引入到间隔循环函数内:
@H_301_0@到了这一步就简单的多了,因为这个函数是每隔多少秒执行一次,所以我们只需要把之前定义的东西都取最大值和最小值之间就行了。然后将之前定义的雪花克隆一下,这里讲一下jq的克隆和js的克隆
@H_301_0@ jq的克隆是节点直接.clone()
,是封装好的js克隆方法。js就是直接节点.cloneNode(true)
,只需要知道就行了,这样就不会过于依赖jq库了。
@H_301_0@最后一步 :
将克隆好的节点放入到我们的父节点中,也就是视图中,我们这里的视图是body,所以直接appendto(body)
,然后jq有个动画api,我们直接用这个api使得整个雪花从克隆出来到运动起来,然后运动完
@H_301_0@ 后将克隆出来的雪花remove掉,这样就实现了整个雪花飘落的效果。
@H_301_0@