JavaScript、jQuery、HTML5、Node.j
admin
2023-01-30 09:48:33
0

技术很多,例子很多,只好慢慢学,慢慢实践!!现在学的这本书是【JavaScript实战----JavaScript、jQuery、HTML5、Node.js实例大全】

JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记2


3.3 响应鼠标动作

图3-2的效果已经有了,需要鼠标来操作展示想看的照片,这就需要在相应的地方加上事件。

3.3.1 响应小照片单击动作

在3.2.3的代码里提供了显示小图列表的eg.showThumb()方法,在单击小图片时要显示大图片,这需要调用eg.showBig()方法,只有在单击小图片的时候响应单击事件才行,所以需要用eg.addListener()方法来实现,具体代码见【范例3-4】。

【范例3-4 响应小照片单击动作】


1.eg.showThumb = function(group){
2.var ul = eg.$("smallPhotosList");
3.ul.innerHTML = ''; //每次显示时要清空旧的内容
4. var start = (group-1)*eg.groupSize; //计算需要的data数据的开始位置
5. var end = group*eg.groupSize //计算需要的data数据的结束位置
6. for(vari=start;(i';
9. (function(i){
10. eg.addListener(li,"click",function(){ //增加click事件监听
11. eg.showNumber = i; //记录选中的图标序号 供其他函数调用
12. eg.showBig();
13. });
14. })(i); //将i作为值传递进去
15. ul.appendChild(li);
16. }
17. };
18. eg.showBig = function(){ //根据某个编号显示大图
19. eg.$("bigPhotoSrc").src =eg.$("thumb"+eg.showNumber).src.replace("thumb","photo")
20. };

【范例3-4】中第9行就是响应小照片单击动作的代码,这里使用了一个闭包,即一个自调用的匿名函数。(function(){})()是最简单的闭包。大括号的内容会顺序执行。如果去掉第9行和第14行代码,那么会发现始终显示当前组照片中的最后1张,在for语句体里一般要用闭包把变量值传到内部的绑定事件里。



最具士兵突击实战类型的JavaScript

JavaScript、jQuery、HTML5、Node.j



相关内容

热门资讯

行业首款水冷+185Hz超高刷... 一、前言:9英寸机身里塞下了整个Steam库 拿到红魔游戏平板5 Pro之前,我对它没太大期待,正常...
雷军亲自下场讲物理!小米澎程不... 7月22日,小米CEO雷军在微博抛出“灵魂三问”,9系全尺寸大空间四驱SUV你选哪个? 1. 大电池...
最新民调:特朗普的支持者对伊朗... 美伊谅解备忘录失效,停火局面被打破,双方最近大打出手。据美媒报道,美国最新民调显示,特朗普的支持者对...
专业可靠的AirTag平替销售... 智能防丢市场新选择:AirTag平替产品的核心选购逻辑与可靠源头厂商解析 在苹果AirTag带动下...
黄仁勋谈中国AI模型:非常优秀... 英伟达首席执行官黄仁勋7月21日表示,中国开源AI模型“非常优秀”,美国企业“应该使用”。他同时警告...
西门子无霜冰箱冷藏室不制冷冷冻... 1、可能是制冷剂发生了泄漏的情况;2、可能是因为风机的问题导致了不制冷情况。3、可能是外界温度的影响...
防盗门钥匙能锁门不能开门怎么回... 1、如果是喇叭锁时,导致门锁忽然打不开很可能是其锁斜舌脱勾而出现故障,这时可以将锁具螺丝下开,对锁舌...
西门子洗衣机不排水怎么回事 1、排水管不通畅或排水泵堵转。2、可能是电脑板坏了。3、排水泵与电脑板之间接触不良或排水泵损坏引起的...
西门子洗衣机不排水是什么原因 西门子洗衣机不排水可能有以下原因:1. 排水泵故障:排水泵可能损坏或堵塞,导致无法正常排水。2. 排...
siemens滚筒洗衣机具体的... 插上电源,放下排水管,打开水龙头。把要洗涤的衣物和洗衣粉及添加剂倒入洗衣机内,并将机盖关上。按下电源...