大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
技术很多,例子很多,只好慢慢学,慢慢实践!!现在学的这本书是【JavaScript实战----JavaScript、jQuery、HTML5、Node.js实例大全】
创新互联是一家以网络技术公司,为中小企业提供网站维护、网站设计制作、网站设计、网站备案、服务器租用、域名注册、软件开发、小程序开发等企业互联网相关业务,是一家有着丰富的互联网运营推广经验的科技公司,有着多年的网站建站经验,致力于帮助中小企业在互联网让打出自已的品牌和口碑,让企业在互联网上打开一个面向全国乃至全球的业务窗口:建站欢迎来电:028-86922220
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语句体里一般要用闭包把变量值传到内部的绑定事件里。