自定义属性之图片切换实例——代码简化、函数合并——JS学习笔记2015-5-30(第43天)

鉴于for循环的重要性,今天再来回顾下什么时候想到使用for循环:

1、重复执行某些代码;2、每次执行的时候有个数字在变化;

说道代码简化,函数合并

这里要去观察自己的代码,当发现自己写的代码,在功能上存在相似的代码段时,看看他们能不能合并

也就是函数的使用思想,就是被用来重复调用;让程序的整体代码变得简洁;

和合并的过程中,注意调试效果,看看有没有影响到原来效果的执行;

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 5 <title>无标题文档</title>
 6 <style>
 7 ul { padding:0; margin:0; }
 8 li { list-style:none; }
 9 body { background:#333; }
10 #pic { width:400px; height:500px; position:relative; margin:0 auto; background:url(img/loader_ico.gif) no-repeat center #fff; }
11 #pic img { width:400px; height:500px; }
12 #pic ul { width:40px; position:absolute; top:0; right:-50px; }
13 #pic li { width:40px; height:40px; margin-bottom:4px; background:#666; }
14 #pic .active { background:#FC3; }
15 #pic span { top:0; }
16 #pic p { bottom:0; margin:0; }
17 #pic p,#pic span { position:absolute; left:0; width:400px; height:30px; line-height:30px; text-align:center; color:#fff; background:#000; }
18 </style>
19
20 </head>
21
22 <body>
23
24 <div id="pic">
25     <img src="" />
26   <span>数量正在加载中……</span>
27   <p>文字说明正在加载中……</p>
28   <ul></ul>
29 </div>
30 <script type="text/javascript">
31     var oDiv = document.getElementById(‘pic‘);
32     var oImg = oDiv.getElementsByTagName(‘img‘)[0];
33     var oSpan = oDiv.getElementsByTagName(‘span‘)[0];
34     var oP = oDiv.getElementsByTagName(‘p‘)[0];
35     var oUl = oDiv.getElementsByTagName(‘ul‘)[0];
36     var aLi = oUl.getElementsByTagName(‘li‘);
37
38     var arrUrl = [ ‘img/1.png‘, ‘img/2.png‘, ‘img/3.png‘, ‘img/4.png‘ ];
39     var arrText = [ ‘小宠物‘, ‘图片二‘, ‘图片三‘, ‘面具‘ ];
40     var num = 0;
41
42     for( var i=0; i<arrUrl.length; i++ ){
43         oUl.innerHTML += ‘<li></li>‘;
44     }
45
46     function fnTab(){
47         // 初始化
48         oImg.src = arrUrl[num];
49         oSpan.innerHTML = 1+num+‘ / ‘+arrUrl.length;
50         oP.innerHTML = arrText[num];
51         for(var j=0; j<arrUrl.length; j++){
52
53                      aLi[j].className = ‘‘;
54                       //这里的for循环,是为了合并同样的代码段而添加出来的,本身这个步奏没有多大意义
55                 }
56         aLi[num].className = ‘active‘;
57
58     }
59     fnTab(); // 函数需要调用才会执行;
60
61     for( var i=0 ;i<aLi.length; i++){
62          aLi[i].index = i; // 建立索引值要放到点击事件的外部,否则是无法发生作用的;
63          aLi[i].onclick = function(){
64
65             num = this.index // 观察跟上面的代码段,发现这个this.index跟num的值是一样的,所以把this.index的值赋给num,下面的代码段几乎就跟初始化一样了
66             fnTab();
67          }
68     }
69
70 </script>
71 </body>
72 </html>

时间: 2024-10-10 01:21:47

自定义属性之图片切换实例——代码简化、函数合并——JS学习笔记2015-5-30(第43天)的相关文章

自定义属性之图片切换实例——初始化——JS学习笔记2015-5-28(第41天)

思路: 延续上一节说的利用自定义属性来作为桥梁,建立匹配关系,然后改变页面中元素的显示效果: 首先需要写好一个合理的HTML结构   // 何为合理呢?就是说考虑这个结构哪些需要提前写好的,哪些又是可以通过程序来动态实现的 然后写好相应的CSS样式文件,让基本的构造出来: 最后通过JS来控制相关页面元素的显示效果: 实例: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type"

自定义属性之图片切换实例——初始化、实现切换效果——JS学习笔记2015-5-29(第42天)

这里已经实现了图片的切换功能,注意思路还是利用自定义属性当做桥梁,来变换匹配的对应元素: 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>无标题文档</title> 6 <style> 7 ul { pa

PHP结合JQueryJcrop实现头像图片裁切实例代码

看到一些网站上有图片剪切的功能,觉得挺炫,后来找了一款专用于图片裁切的插件,jquery.Jcrop.min.js,用这个插件可以方便的实现这个功能,使用时鼠标在图片上圈选出选区,即可把图片裁切成所选部分,非常适合用于头像的裁切编辑功能.前端UI分享 演示分为HTML和php两部分: 第一部分,HTML代码: .代码   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.

图片切换特效(2):JS图片滚动代码(无缝、平滑)

转自:http://www.codefans.net/jscss/code/255.shtml <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

java随机动态生成汉字验证码图片的实例代码分享

原创不易,转载请注明出处:java随机动态生成汉字验证码图片的实例代码分享 代码下载地址:http://www.zuidaima.com/share/1809721113234432.htm 汉字验证码实现原理 将汉字和干扰线生成图片并将汉字保存到session,前台获取每次生成验证码图片并用文本框值和session值比较,功能相对来说还是比较简单的. 效果图,如下: 验证成功后: java随机动态生成汉字验证码图片的实例代码分享

第十七篇:实例分析(4)--初探WDDM驱动学习笔记(十一)

感觉有必要把 KMDDOD_INITIALIZATION_DATA 中的这些函数指针的意思解释一下, 以便进一步的深入代码. DxgkDdiAddDevice 前面已经说过, 这个函数的主要内容是,将BASIC_DISPLAY_DRIVER实例指针存在context中, 以便后期使用, 支持多实例. DxgkDdiStartDevice 取得设备信息, 往注册表中加入内容, 从POST设备中获取FRAME BUFFER以及相关信息(DxgkCbAcquirePostDisplayOwnershi

代码管理工具 --- git的学习笔记四《重新整理git(1)》

1.创建版本库 mkdir  创建目录 cd  地址,到该地址下 pwd 显示当前目录 1.创建目录 $ mkdir startGit $ cd startGit $ pwd 显示当前目录 或者cd到桌面,然后再创建目录 2.初始化版本库 $ git init 初始化仓库 提示信息:Initialized empty Git repository in /Users/xingzai/Desktop/startGit/.git/ 建立一个空的git仓库在/Users/xingzai/Desktop

第十七篇:实例分析(3)--初探WDDM驱动学习笔记(十)

续: 还是记录一下, BltFuncs.cpp中的函数作用: CONVERT_32BPP_TO_16BPP 是将32bit的pixel转换成16bit的形式. 输入是DWORD 32位中, BYTE 0,1,2分别是RGB分量, 而BYTE3则是不用的 为了不减少color的范围, 所以,都是取RGB8,8,8的高RGB5, 6, 5位, 然后将这16位构成一个pixel. CONVERT_16BPP_TO_32BPP是将16bit的pixel转换成32bit的形式 输入是WORD 16BIT中

Node.js学习笔记【3】NodeJS基础、代码的组织和部署、文件操作、网络操作、进程管理、异步编程

一.表 学生表 CREATE TABLE `t_student` ( `stuNum` int(11) NOT NULL auto_increment, `stuName` varchar(20) default NULL, `birthday` date default NULL, PRIMARY KEY  (`stuNum`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 学生分数表 CREATE TABLE `t_stu_score` ( `id` int(11