Javascript在一个页面实现图片库
2017-01-15 16:36
253 查看
思路:
1、通过增加一个“占位符”图片的办法在主页上为图片预留一个浏览区域。
2、在点击导航链接时,拦截这个网页的默认行为。不让其转到另一个窗口。
3、在点击导航链接时,把“占位符”图片替换为与那个链接相对应的图片。
代码:
<body>
<h1>Snapshots</h1>
<ul>
<li>
<a href="img/024f78f0f736afc396060dbbb119ebc4b64512e1.jpg" title="picture1">Fireworks</a>
</li>
<li>
<a href="img/1593169_220319045543_2.jpg" title="picture2">Coffee</a>
</li>
<li>
<a href="img/2443543_101726406131_2.jpg" title="picture3">Rose</a>
</li>
<li>
<a href="img/3302397_195205012871_2.jpg" title="picture4">Big Ben</a>
</li>
<li>
<a href="img/u=2434715800,1445986251&fm=23&gp=0.jpg" title="picture5">hhhh</a>
</li>
</ul>
<!--占位符图片-->
<img src="img/u=2398556927,124101125&fm=23&gp=0.jpg" id="placeholder" alt="my image gallery" />
<!--图片描述-->
<p id="description">Choose an image.</p>
<script type="text/javascript">
//显示图片函数
function showPic(whichpic) {
var source = whichpic.getAttribute("href");
var placeholder = document.getElementById("placeholder");
placeholder.setAttribute("src", source);
var text = whichpic.getAttribute("title");
var description = document.getElementById("description");
description.firstChild.nodeValue = text;
}
var a = document.getElementsByTagName("a");
for(var i = 0; i < a.length; i++) {
a[i].onclick = function() { //调用函数
showPic(this);
return false; //在onclick事件处理函数所触发的JS代码里加一条return false语句,就可以防止用户被带到目标链接窗口。
}
}
</script>
</body>
总结:
1、在onclick事件处理函数所触发的JS代码里增加一条return false语句,就可以防止用户被带到目标链接窗口,还是在原页面。
2、由childNodes属性返回的数组包含所有类型的节点,而不仅仅是元素节点。还有属性节点,文本节点。
3、元素节点的nodeType属性值是1,属性节点的nodeType属性值是2,文本节点的nodeType属性值是3。故可单独处理特定类型节点。
4、在用nodeValue属性获取description对象的值时,得到的并不是包含在这个段落里的文本,而会返回一个null值,<p>元素本身的nodeValue属性是一个空值。
包含在<p>元素里的文本是另一种节点,即文本节点,它是<p>元素的第一个子节点,所以我要得到的是p的第一个子节点的nodeValue属性值
比如弹出p中内容: alert(description.firstchild.nodeValue); or alert(description.childNodes[0].nodeValue);
1、通过增加一个“占位符”图片的办法在主页上为图片预留一个浏览区域。
2、在点击导航链接时,拦截这个网页的默认行为。不让其转到另一个窗口。
3、在点击导航链接时,把“占位符”图片替换为与那个链接相对应的图片。
代码:
<body>
<h1>Snapshots</h1>
<ul>
<li>
<a href="img/024f78f0f736afc396060dbbb119ebc4b64512e1.jpg" title="picture1">Fireworks</a>
</li>
<li>
<a href="img/1593169_220319045543_2.jpg" title="picture2">Coffee</a>
</li>
<li>
<a href="img/2443543_101726406131_2.jpg" title="picture3">Rose</a>
</li>
<li>
<a href="img/3302397_195205012871_2.jpg" title="picture4">Big Ben</a>
</li>
<li>
<a href="img/u=2434715800,1445986251&fm=23&gp=0.jpg" title="picture5">hhhh</a>
</li>
</ul>
<!--占位符图片-->
<img src="img/u=2398556927,124101125&fm=23&gp=0.jpg" id="placeholder" alt="my image gallery" />
<!--图片描述-->
<p id="description">Choose an image.</p>
<script type="text/javascript">
//显示图片函数
function showPic(whichpic) {
var source = whichpic.getAttribute("href");
var placeholder = document.getElementById("placeholder");
placeholder.setAttribute("src", source);
var text = whichpic.getAttribute("title");
var description = document.getElementById("description");
description.firstChild.nodeValue = text;
}
var a = document.getElementsByTagName("a");
for(var i = 0; i < a.length; i++) {
a[i].onclick = function() { //调用函数
showPic(this);
return false; //在onclick事件处理函数所触发的JS代码里加一条return false语句,就可以防止用户被带到目标链接窗口。
}
}
</script>
</body>
总结:
1、在onclick事件处理函数所触发的JS代码里增加一条return false语句,就可以防止用户被带到目标链接窗口,还是在原页面。
2、由childNodes属性返回的数组包含所有类型的节点,而不仅仅是元素节点。还有属性节点,文本节点。
3、元素节点的nodeType属性值是1,属性节点的nodeType属性值是2,文本节点的nodeType属性值是3。故可单独处理特定类型节点。
4、在用nodeValue属性获取description对象的值时,得到的并不是包含在这个段落里的文本,而会返回一个null值,<p>元素本身的nodeValue属性是一个空值。
包含在<p>元素里的文本是另一种节点,即文本节点,它是<p>元素的第一个子节点,所以我要得到的是p的第一个子节点的nodeValue属性值
比如弹出p中内容: alert(description.firstchild.nodeValue); or alert(description.childNodes[0].nodeValue);
相关文章推荐
- 分享一个自己利用javascript中的window.setInterval()定时器实现页面背景图片淡入淡出效果
- 一个简单的用javascript实现的页面内容过滤显示小程序源码
- 用JavaScript实现在同一个页面里打开多张图片
- javascript实现一个html提交的表单数据放到另一个html页面显示
- JavaScript解决一个带验证的Form两个Submit事件(一个页面保持不动【AJAX实现】,一个页面提交并跳转)的场景
- 一个简单的用javascript实现的页面内容过滤显示小程序源码
- javaScript实现在一个页面中对某一部分的切换
- JavaScript实现x秒后自动跳转到一个页面
- Javascript实现一个简单的页面倒计时功能
- JavaScript实现x秒后自动跳转到一个页面
- 在一个jsp页面实现二级下拉框联动,实时读取数据库数据(用javascript实现)
- 分享一个自己利用javascript中的window.setInterval()定时器实现页面背景图片变换的特效(同时淡入淡出效果)
- JavaScript实现同一个页面打开多张图片
- 再谈用javascript实现页面刷新后跳转菜单的定位[原创]
- 用JavaScript实现页面百叶窗效果
- 用JavaScript脚本实现Web页面信息交互
- 用javascript实现html页面之间的参数传递
- 用javascript实现页面无刷新更新数据
- 一个实现让整个网页变灰的javascript 函数
- javascript实现刷新页面