JS,CSS和HTML做的動(dòng)漫效果和隨機(jī)點(diǎn)名器,sort() ,setAttribute,數(shù)組【詩(shī)書(shū)畫(huà)唱】

將images文件中的圖片連續(xù)播放成一段動(dòng)畫(huà):



<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<script>

//push()方法是數(shù)組的棧底添加 意思是往數(shù)組的底部添加
//unshift()方法是數(shù)組的棧頂添加 意思是往數(shù)組的頭部添加
console.log(nameArr);
// var nameArr = [
// "images/1.gif",
// "images/2.gif",
// ];
var clear=null;
// 或?qū)懗?/p>
//var clear=undefined;
// 或
//var clear;
console.log(clear);
var flag = true;
function doStart() {??
var i = 0;
if(flag) {
clear = setInterval(function() {
document.getElementById("nameDiv").setAttribute('src',nameArr[i]);
i++;
if(i >= nameArr.length) {
i = 0;
}
}, 100);
flag = false;
}
}
console.log(clear);
function doStop() {
if(clear) {
clearInterval(clear);
flag = true;
}
}
console.log(clear);
</script>
<body>
<table border="0" width="100%">
<tr>
<td align="center">
<input type="button" value="循環(huán)播放" onclick="doStart();" />
<input type="button" value="停止" onclick="doStop();" />
</td>
</tr>
<tr>
<td align="center">
<img src="images/1.gif" id="nameDiv" >
</td>
</tr>
</table>
</body>
</html>




//sort() 方法用于對(duì)數(shù)組的元素進(jìn)行排序。
//如果調(diào)用該方法時(shí)沒(méi)有使用參數(shù),將按字母順序?qū)?shù)組中的元素進(jìn)行排序,說(shuō)得更精確點(diǎn),是按照字符編碼的順序進(jìn)行排序。要實(shí)現(xiàn)這一點(diǎn),首先應(yīng)把數(shù)組的元素都轉(zhuǎn)換成字符串(如有必要),以便進(jìn)行比較。
//
//如果想按照其他標(biāo)準(zhǔn)進(jìn)行排序,就需要提供比較函數(shù),該函數(shù)要比較兩個(gè)值,然后返回一個(gè)用于說(shuō)明這兩個(gè)值的相對(duì)順序的數(shù)字。比較函數(shù)應(yīng)該具有兩個(gè)參數(shù) a 和 b,其返回值如下:
//
//若 a 小于 b,在排序后的數(shù)組中 a 應(yīng)該出現(xiàn)在 b 之前,則返回一個(gè)小于 0 的值。
//若 a 等于 b,則返回 0。
//若 a 大于 b,則返回一個(gè)大于 0 的值。







隨機(jī)點(diǎn)名器:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
* {
font-size: 100px;
}
</style>
<script>
//1、數(shù)組
//var nameArr = new Array('張三','李四');
var nameArr = [
'鐘建',
'彭康',
'易國(guó)鵬',
'張文龍',
'鄒文忠',
'曾儀',
'宋贛',
'姜蘭蘭',
'劉偉',
'夏雨彤',
'唐艷平',
'彭浩瀚',
'阮廣',
'張志豪',
'文俊男',
'盛配琳',
'石艷艷',
'周子毅',
'詩(shī)書(shū)畫(huà)唱',
'胡新海',
'柴杰昌',
'彭烈榮',
'曠志林',
'周鴻運(yùn)',
'廖文彬',
'楊文彬'
];
? ? ? ? ? ? //定時(shí)器的遙控器
? ? ? ? ? ? var iv;?
? ? ? ? ? ? //保證setInterval函數(shù)同一時(shí)間只有一個(gè)在運(yùn)行
? ? ? ? ? ? var flag = true;
? ? ? ? ? ? function doStart(){
? ? ? ? ? ? //打亂數(shù)組中名字的順序
? ? ? ? ? ? //Math.random()隨機(jī)產(chǎn)生0到1之間的一個(gè)小數(shù)
? ? ? ? ? ? //取出數(shù)組中的任意兩個(gè)元素進(jìn)行排位
? ? ? ? ? ? nameArr.sort(function(a,b){
? ? ? ? ? ? return 0.5 - Math.random();
? ? ? ? ? ? });
? ? ? ? ? ? //實(shí)現(xiàn)名字的不斷的變化
? ? ? ? ? ? //2、setInterval函數(shù):不斷的重復(fù)執(zhí)行指定的函數(shù)
? ? ? ? ? ? //每隔一秒鐘就換一個(gè)名字
? ? ? ? ? ? //1000表示1000毫秒也就是1秒
? ? ? ? ? ? var i = 0;
? ? ? ? ? ? if(flag) {
? ? ? ? ? ? iv = setInterval(function(){
? ? ? ? ? ? document.getElementById('nameDiv').innerHTML = nameArr[i];
? ? ? ? ? ? i ++;
? ? ? ? ? ? //當(dāng)i大于等于數(shù)組的長(zhǎng)度時(shí),就無(wú)法取到數(shù)組中的名字了
? ? ? ? ? ? if(i >= nameArr.length) {
? ? ? ? ? ? i = 0;
? ? ? ? ? ? }
? ? ? ? ? ? },10);
? ? ? ? ? ? flag = false;
? ? ? ? ? ? } ? ? ? ? ? ??
? ? ? ? ? ? }
? ? ? ? ? ??
? ? ? ? ? ? function doStop(){
? ? ? ? ? ? //停止名字的閃動(dòng)
? ? ? ? ? ? if(iv) {
? ? ? ? ? ? clearInterval(iv);
? ? ? ? ? ? flag = true;
? ? ? ? ? ? }? ? ? ? ? ?
? ? ? ? ? ? }
? ? ? ? ? ??
? ? ? ? ? ? //作業(yè):找一些連續(xù)的圖片,將這些圖片做成動(dòng)畫(huà)效果
</script>
</head>
<body>
<table border="0" width="100%">
<tr>
<td align="center">
<input type="button" value="繼續(xù)" onclick="doStart();" />
<input type="button" value="就是你" onclick="doStop();" />
</td>
</tr>
<tr>
<td align="center">
<div id="nameDiv" style="font-size: 80px;">姓名</div>
</td>
</tr>
</table>
</body>
</html>
