js图片库 案例
事件处理函数:事件处理函数的作用是,在特定事件发生时调用特定的JavaScript代码。本例中想要在用户点击某个链接的时候触发一个动作,所以需要使用onclick事件处理函数。
添加事件处理函数的语法:
event="JavaScript statement(s)"
js代码包含在一对引号之间,可以把任意数量的js语句放在这对引号之间,只要把各条语句用分号隔开就可以。
onclick="showPic(this);"//this表示这个对象,本例中即这个<a>元素标签
事件处理函数的工作机制:在给某个元素添加了世间处理函数后,一旦事件发生,相应的js代码就会执行。被调动的js会返回一个值,这个值将会被传递给那个时间处理函数。本例中当链接被点击时,如果执行的js代码返回true,事件处理函数就认为这个链接被点击了,反之如果返回的值是false,onclick事件处理函数就认为这个链接没有被点击。return false;就会将false返回给事件处理函数,所以这个链接的默认行为没有被触发(打开图片查看器。)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Images</title>
</head>
<body>
<h1>图片库</h1>
<ul>
<li><a href="images/door.jpg" onclick="showPic(this);return false;" title="red door">Door</a></li>//return false;事件处理函数工作机制
<li><a href="images/heart.jpg" onclick="showPic(this);return false;" title="red heart">Heart</a></li>
<li><a href="images/lake.jpg" onclick="showPic(this);return false;" title="Xuanwu Lake">Lake</a></li>
<li><a href="images/light.jpg" onclick="showPic(this);return false;" title="lights">Light</a></li>
<li><a href="images/river.jpg" onclick="showPic(this);return false;" title="Qinhuai River">River</a></li>
</ul>
<img id="placeholder" src="data:images/1.jpg" alt="my image gallery">//选用一个无用图片做占位符图片
<script type="text/javascript" >
function showPic(whichpic){
var source = whichpic.getAttribute("href");
var placeholder=document.getElementById("placeholder");
placeholder.setAttribute("src",source);
}
</script>
</body>
</html>
childNodes属性
在一颗节点树上,childNodes属性可以用来获取任何一个元素的所有子元素,它是一个包含这个元素全部子元素的数组:element.childNodes
childNodes返回的数组包含所有类型的节点,不仅仅是元素节点。
每个节点都有nodeType属性,这个属性让我们知道正在与哪一种节点打交道。
语法:node.nodeType
nodeType的值是一个数字。
alert(body_element.nodeType)
nodeType属性总共有12中可取值,但是其中仅有3种具有实用价值。
元素节点的nodeType属性值是1;
属性节点的nodeType属性值是2;
文本节点的nodeType属性值是3;
nodeValue属性
如果想要改变一个文本节点的值,那就使用DOM提供的nodeValue属性,它用来得到(和设置)一个节点的值:node.nodeValue;
不仅可以用来检索节点的值,还可以用来设置节点的值。
firstChild和lastChild属性
只要需要访问childNodes数组中的第一个元素,都可以写成firstChild node.firstChild ←==→ node.childNodes[0]
node.lastChild ←==→ node.childNodes[node.childNodes.length-1]
js图片库 案例的更多相关文章
- JavaScript DOM编程艺术第四章 — JavaScript图片库案例研究
这一章通过JavaScript图片库案例,学习了一些DOM属性. HTML代码 <!DOCTYPE html> <html> <head> <meta cha ...
- js图片库
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【Vue.js实战案例】- Vue.js递归组件实现组织架构树和选人功能
大家好!先上图看看本次案例的整体效果. 浪奔,浪流,万里涛涛江水永不休.如果在jq时代来实这个功能简直有些噩梦了,但是自从前端思想发展到现在的以MVVM为主流的大背景下,来实现一个这样繁杂的功能简直不 ...
- js计算器案例
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>j ...
- 正則表達式--js使用案例
前言:在前端页面使用中.遇到日期格式的验证.開始使用了一款表单控件验证.可是不兼容!!并且使用起来还受到非常大约束.所以就决定自己写原生js. 为了完毕日期格式的验证.第一步,当然是学会使用正則表達式 ...
- JS小案例:循环间隔重复变色
在A.B.C三个区块中,有且仅有一个红色,要求红色每隔一秒即进入下一个区块,变色过程不断循环往复. 参考代码: <!DOCTYPE html> <html lang="zh ...
- JavaScriptDOM编程学习笔记(二)图片库案例
<JavascriptDOM编程艺术>提供一个图片库的demo,主要讲解如何更好的使用JavaScript在网页中,跟随作者的思路来分析一下这个案例 首先需求是将图片发布到网上,但是如果发 ...
- node.js(小案例)_实现学生信息增删改
一.前言 本节内容主要对小案例做一个总结: 1.如何开始搭建小项目 2.路由设计 3.模块应用 4.项目源码以及实现过程github地址: 项目演示如下: 二.主要内容 1.项目的关键性js源码: 项 ...
- node.js小案例_留言板
一.前言 通过这个案例复习: 1.node.js中模板引擎的使用 2.node.js中的页面跳转和重定向 二.主要内容 1.案列演示: 2.案列源码:https://github.com/45612 ...
随机推荐
- 不要滥用SharedPreference
SharedPreference是Android上一种非常易用的轻量级存储方式,由于其API及其友好,得到了很多很多开发者的青睐.但是,SharedPreference并不是万能的,如果把它用在不合适 ...
- python Gensim库建立word2vec参数说明
from gensim.models import word2vec model = word2vec.Word2Vec(sentences, size=80, window=10,workers=6 ...
- 性能测试工具Jmeter11-Jmeter图形监控扩展
插件下载地址:http://jmeter-plugins.org/downloads/all/ 1.首先将JmeterPluging.jar包复制到Jmeter的Lib目录下面的ext目录下面,然后重 ...
- Andrew Ng 的 Machine Learning 课程学习 (week2) Linear Regression
这学期一直在跟进 Coursera上的 Machina Learning 公开课, 老师Andrew Ng是coursera的创始人之一,Machine Learning方面的大牛.这门课程对想要了解 ...
- Java的ThreadContext类加载器
疑惑 以前在看源码的时候,总是会遇到框架里的代码使用Thread.currentThread.getContextClassLoader()获取当前线程的Context类加载器,通过这个Context ...
- mongodb 用户权限控制
MongoDB已经使用很长一段时间了,基于MongoDB的数据存储也一直没有使用到权限访问(MongoDB默认设置为无权限访问限制),今天特地花了一点时间研究了一下,研究成果如下: 注:研究成果基于W ...
- 《C#高效编程》读书笔记13-正确的初始化静态成员变量
在创建某个类型实例之前,就应该初始化该实例的所有静态成员变量.而C#为此提供了静态初始化器和静态构造函数. 静态构造函数是特殊的构造函数,将在其他所有方法执行之前以及变量或属性被第一次访问之前执行. ...
- jquery拖拽排序,针对后台列表table进行拖拽排序(超实用!)
现在很多后台列表为了方便均使用拖拽排序的功能,对列表进行随意的排序. 话不多说 ,我在网上找了一些demo,经过对比,现在把方便实用的一个demo列出来,基于jqueryUI.js 先上html代码, ...
- C#开发usb通知之bulk传输
usb通信分为4种传输方式,下位机通信协议用的是块传输,也就是bulk传输,C#下实现的usb通信使用的是开源的LibUsbDotNet,主要的就是需要在C#中添加LibUsbDotNet.dll引用 ...
- java 使用Queue在队列中异步执行任务
先创建一个总的Handler(队列统一处理接口),名字就叫做 QueueTaskHandler public interface QueueTaskHandler { void processData ...