JavaScript FAQ(十三)——图片

十一、图片 

1. OnMouseOver效果(OnMouseOver Effects

Q:我如何在用户鼠标放到图片上时更改这个图片?

A:这里一个简单的例子:

鼠标移到文件上,它就会打开。鼠标移走,它就会关闭。

在这个例子中,图像是2.gif,而图片是1.gif。它们都保存在../hi-icons文件夹中。为了实现“mouseover”效果,<IMG>标记被嵌入到一个超链接中,由这个超链接来处理onMouseOveronMouseOut事件:


<a href="#any_URL"
onMouseOver="handleOver();return true;"
onMouseOut="handleOut();return true;"
><img name=imgName width=17 height=15 border=0
alt="This image changes when you point at it!"
src="../hi-icons/2.gif"
></a>

在该页的<HEAD>部分,我们使用JavaScript代码,预先载入了图片文件,并且定义了事件处理函数:

<script language="JavaScript">
<!--
// PRELOADING IMAGES
if (document.images) {
 img_on =new Image();  img_on.src ="../hi-icons/1.gif";
 img_off=new Image();  img_off.src="../hi-icons/2.gif";
}
function handleOver() {
 if (document.images) document.imgName.src=img_on.src;
}
function handleOut() {
 if (document.images) document.imgName.src=img_off.src;
}
//-->
</script>

这里还有一个包含了几个图片的复杂一些的例子:

代码和上面的很相似,除了这个事件处理器将图片的编号作为了输入参数。(要查看实际的代码,可以查看本页源代码。)

 

2. OnMouseDown效果(OnMouseDown Effects

Q:我如何在用户点击图片时改变它?

A:这个非常类似与onMouseOver效果。然而这个页面介绍的技术,只能在Netscape 4.x或者Internet Explorer 4.x(或者更新的浏览器中)实现,因为3.x版本的浏览器都不支持onMouseDownonMouseUp事件。

这是一个简单的例子:

当鼠标指向文件夹时按下鼠标,它就会打开。放开鼠标,它就会关闭。

这个例子中<IMG>标签被嵌入到一个包含了onMouseDownonMouseUponMouseOut事件处理器的超链接中:


<a href="#any_URL"
onMouseDown="handlePress();return true;"
onMouseUp="handleRelease();return true;"
onMouseOut="handleRelease();return true;"
onClick="return false;"
><img name=imgName width=17 height=15 border=0
alt="This image changes when you press the mouse button!"
src="../hi-icons/2.gif"
></a>

在本页的<HEAD>区域中,我们使用JavaScript预先载入这些图片,并定义了事件处理函数:

<script language="JavaScript">
<!--
// PRELOADING IMAGES
if (document.images) {
 img_on =new Image();  img_on.src ="../hi-icons/1.gif";
 img_off=new Image();  img_off.src="../hi-icons/2.gif";
}
function handlePress() {
 if (document.images) document.imgName.src=img_on.src;
}
function handleRelease() {
 if (document.images) document.imgName.src=img_off.src;
}
//-->
</script>

这里有一个包含了几个图片的复杂一些的例子:
代码和上面的很相似,除了这个事件处理器将图片的编号作为了输入参数。(要查看实际的代码,可以查看本页源代码。)

 

3. 图片按钮(Buttons with Images

Q:我能创建可按下的图片按钮吗?

A:可以。每一个按钮需要两个图片:一个是“按下的按钮”,另一个是“释放的按钮”。试一下下面的例子:将鼠标指针放到下面的按钮上,按下鼠标左键——按钮图片会变为“按下”状态。观察按钮变回“释放”状态时按钮图片的变化,将(按下的)鼠标移出图片,然后释放鼠标。

在这个例子中,“按下的按钮”图片是btn1down.gifbtn2down.gif;“释放的按钮”图片是btn1up.gifbtn2up.gif。为了让按钮“可以按下”,每一个<IMG>标记都包含在了有onMouseDownonMouseUponMouseOutonClick事件处理器的超链接中:

<a href="indexpg.htm"
onMouseDown="pressButton('btn1');return true;"
onMouseUp="releaseButton('btn1');return true;"
onMouseOut="releaseButton('btn1');return true;"
onClick="return true;"
><img name=btn1 width=60 height=22 border=0
alt="Index"
src="btn1up.gif"
></a>
<a href="startpag.htm"
onMouseDown="pressButton('btn2');return true;"
onMouseUp="releaseButton('btn2');return true;"
onMouseOut="releaseButton('btn2');return true;"
onClick="return true;"
><img name=btn2 width=60 height=22 border=0
alt="Home"
src="btn2up.gif"
></a>

该页的<HEAD>区域包含预载入图片文件和定义事件处理函数的JavaScript代码:

<script language="JavaScript">
<!--
// PRELOADING IMAGES
if (document.images) {
 btn1_down=new Image(); btn1_down.src="btn1down.gif";
 btn1_up  =new Image(); btn1_up.src  ="btn1up.gif";
 btn2_down=new Image(); btn2_down.src="btn2down.gif";
 btn2_up  =new Image(); btn2_up.src  ="btn2up.gif";
}
// EVENT HANDLERS
function pressButton(btName) {
 if (document.images)
  eval('document.'+btName+'.src='+btName+'_down.src');
}
function releaseButton(btName) {
 if (document.images)
  eval('document.'+btName+'.src='+btName+'_up.src');
}
//-->
</script>
时间: 2024-09-21 11:01:01

JavaScript FAQ(十三)——图片的相关文章

用Javascript使网页图片产生旋转效果

javascript|网页|旋转 Rotation滤镜可以使图片产生旋转效果,注意必须是IE5.5及IE6.0才能看到! <html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><style>body img{border:3 gold ridge}</style>//给图片加上边框的CS代码<ti

Javascript 函数, 检查图片大小是否大于预期大小, 大于则显示为预期大小 By Stabx

javascript|函数|显示 标题: Javascript 函数, 检查图片大小是否大于预期大小, 大于则显示为预期大小 By Stabx 正文: QUOTE:   发觉用 ASP 判断图片大小比数牛毛还繁复, 且判断了就判断了, 还要逻辑显示...烦. 用 Javascript 判断, 轻松搞定, 最终效果无非就是不要让大图片撑破页面. shawl.qiu2006-5-24   CODE:  <script LANGUAGE="JAVASCRIPT"> //检查图片大

Javascript 函数,检查图片大小是否大于预期大小

javascript|函数 标题: Javascript 函数, 检查图片大小是否大于预期大小, 大于则显示为预期大小 By Stabx 正文: QUOTE: 发觉用 ASP 判断图片大小比数牛毛还繁复, 且判断了就判断了, 还要逻辑显示...烦. 用 Javascript 判断, 轻松搞定, 最终效果无非就是不要让大图片撑破页面. CODE:  <script LANGUAGE="JAVASCRIPT"> //检查图片大小是否大于预期大小, 大于则显示为预期大小funct

javascript转换静态图片,增加粒子动画效果

  这篇文章主要介绍了javascript转换静态图片,增加粒子动画效果,非常的炫酷,需要的朋友可以参考下 使用getImageData接口获取图片的像素点,然后基于像素点实现动画效果,封装成一个简单的lib ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 <!DOCTYPE html> <html> <head> <title>particle image<

javascript实现的图片切割多块效果实例

  这篇文章主要介绍了javascript实现的图片切割多块效果,涉及javascript操作图片及css样式的技巧,需要的朋友可以参考下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 6

JavaScript实现判断图片是否加载完成的3种方法整理

 这篇文章主要介绍了JavaScript实现判断图片是否加载完成的3种方法整理,本文讲解了onload方法.javascipt原生方法.jquery方法三种方法,需要的朋友可以参考下     有时候我们在前端开发工作中为了获取图片的信息,需要在图片加载完成后才可以正确的获取到图片的大小尺寸,并且执行相应的回调函数使图片产生某种显示效果.本文主要整理了几种常见的javascipt判断图片加载完成时的方法,并通过代码与实际应用相结合进行解释与说明. onload方法 通过向img标签添加onload

javascript实现的图片切割多块效果实例_基础知识

本文实例讲述了javascript实现的图片切割多块效果.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang=&quo

使用JavaScript解决网页图片拉伸问题(推荐)_javascript技巧

问题描述 这段时间在做PM的需求的时候突然发现一个问题,产品上的图片来自多个第三方,具体的尺寸无法确定,如果直接在样式中写死图片的尺寸大小就会出现图片拉伸的现象,十分影响产品的美观,因此希望可以找到一个比较好的解决方案.自己先做了一个简单的demo来展示问题. <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <

纯JavaScript手写图片轮播代码_javascript技巧

废话不多说了,直接给大家贴js代码实现手写图片轮播的代码了,代码非常简单,具体代码如下所示: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js图片轮播切换</title> <style type="text/css"> .imgCon{width: 400px;height: 400px;border: 2p

javascript 修改背景图片!

javascript 修改背景图片! <style type="text/css"> <!-- body {         background-image: url(images/bg_t.jpg);         background-repeat: no-repeat; } --> </style> 用js如何修改背景图片? document.TageName('body').style.backgroundImage ="url