轻松搞定网页中的图片切换

生活中经常看到,像新浪等很多门户网站的首页都有滚动图片的展示,如下图所示:

某网站首页滚动切换图片

这样不但可以减少文字的单一、乏味,而且可以直观内容,更好的吸引用户。那在我们做软件系统时,是否也可以首页中加入滚动图片呢?答案是肯定的。

今天就给大家介绍三种类似的展现方式。实现方式这些滚动展现方式,主要用到了我们平常学习到的网页HTML、样式CSS和JavaScript等知识。在具体实现时,需要结合实际效果,综合运用这些知识。

先准备3张大小相同的图片,接着就需要我们编写代码来实现了。具体如下:

1、鼠标移动到图片编号上改变图片

1.1、运行效果

先看运行效果。当把鼠标移到右下角红色框中的“1”时,显示如下图所示:

鼠标移到1号图时显示第一张图

把鼠标移到右下角红色框中的“2”时,显示如下图所示:

鼠标移到2号图时显示第二张图

1.2、实现思路

因为图片是在同一个方框区域显示的,所以,显示其中一张图片时,其他图片就不能显示出来。切换图片的关键是,把显示图片divid=divMap1标签的background属性值改变了。问题是background属性的值该怎么改变呢?这里用户是要移动鼠标的。所以,当用户移动鼠标到不同图片编号时,我们就可以改变background属性的值了。

网页怎么知道用户移动了鼠标呢?这里就涉及到div标签的onmousemove事件。这个事件就可以检测用户是否移动了鼠标,因此我们修改图片文件名的代码,就应该在这个事件中进行处理。

那么多的div标签,该修改哪个div标签的background属性的值呢?我们可以用document对象的getElementById方法,通过指定要修改的div标签的id值(比如divid=divMap2),来找到要修改的div标签,才能正确修改。如下图所示:

鼠标移动到图片编号上改变图片关键代码

注意要点:

①URL统一资源定位,在WWW上,每一信息资源都有统一的且在网上唯一的地址。

②双引号“和单引号‘同时出现时,要间隔使用,而不能交替使用。即可以是“xxx#x27;yyy#x27;zzz”或“#x27;xxxyyyzzz#x27;”,而不能是“xxx#x27;yyyzzz#x27;。

③这里为了简单起见,我们把图片按顺序进行编号,比如1.jpg、2.jpg,依次类推。

④图片编号的红色框在正式的软件系统设计中不加,这里加上是为了突出编号位置。

1.3、具体实现

!doctypehtml

html

head

metacharset=UTF-8

metaname=Generatorcontent=EditPlus

metaname=Authorcontent=

metaname=Keywordscontent=

metaname=Descriptioncontent=

titleDocument/title

style

/*图片显示div*/

#divMap1

{

border:1pxsolid#dddddd;

width:px;

height:px;

background:url(1.jpg);

}

/*图片导航控制div*/

#divNavgate1

{

border:0pxsolidred;

width:40px;

height:20px;

position:absolute;

left:px;

top:px;

color:white;

text-align:center;

font-weight:bold;

}

/*图片1导航控制div*/

#divMap11

{

border:1pxsolidred;

width:10px;

height:20px;

color:gray;

float:left;

text-align:center;

font-weight:bold;

}

/*图片2导航控制div*/

#divMap12

{

border:1pxsolidred;

width:10px;

height:20px;

color:gray;

float:left;

text-align:center;

font-weight:bold;

}

/*图片3导航控制div*/

#divMap13

{

border:1pxsolidred;

width:10px;

height:20px;

float:left;

color:gray;

text-align:center;

font-weight:bold;

}

/style

/head

body

h3图片切换1:fontcolor=red鼠标移动/font到不同编号时切换图片/h3

divid=divMap1

/div

divid=divNavgate1

divid=divMap11onmousemove=

document.getElementById(#x27;divMap1#x27;).style.background=#x27;url(1.jpg)#x27;1/div

divid=divMap12onmousemove=

document.getElementById(#x27;divMap1#x27;).style.background=#x27;url(2.jpg)#x27;2/div

divid=divMap13onmousemove=

document.getElementById(#x27;divMap1#x27;).style.background=#x27;url(3.jpg)#x27;3/div

/div

/body

/html

2、鼠标移动到图片编号上点击后改变图片

这个和上一种“鼠标移动到图片编号上改变图片”基本相同,不同的是:这里需要移到图片编号上点击才更换图片,因此这里用到的事件是div标签的onclick单击事件。把上述代码的onmousemove事件修改为onclick就可以了。

移到图片编号上点击改变图片关键代码

3、每隔一定时间间隔自动切换图片

上述2种都需要操作鼠标,显得比较麻烦。我们在设计程序的时候,可不可以每隔一定时间间隔自动切换图片呢?就像闹钟一样到时就闹。当然是可以的。

“每隔一定时间间隔自动处理某个事件”,需要用到JavaScript的setInterval方法,该方法有2个参数。第一个指定要每隔一定时间间隔自动处理的某个事件名称,第二个参数指定时间间隔,注意单位是毫秒。比如:

setInterval(changeMap,);//循环调用切换图片的changeMap()函数,时间间隔为毫秒

每隔一定时间间隔自动切换图片关键代码

其效果图如下:

每隔一定时间间隔自动切换图片

完整代码如下:

!doctypehtml

html

head

metacharset=UTF-8

metaname=Generatorcontent=EditPlus

metaname=Authorcontent=

metaname=Keywordscontent=

metaname=Descriptioncontent=

titleDocument/title

style

/*part3*/

#divMap3

{

border:1pxsolid#dddddd;

width:px;

height:px;

background:url(1.jpg);

}

/*图片导航控制div*/

#divNavgate3

{

border:0pxsolidred;

width:40px;

height:20px;

position:absolute;

left:px;

top:px;

color:white;

text-align:center;

font-weight:bold;

}

/*图片1导航控制div*/

#divMap31

{

border:1pxsolidred;

width:10px;

height:20px;

color:gray;

float:left;

text-align:center;

font-weight:bold;

}

/*图片3导航控制div*/

#divMap32

{

border:1pxsolidred;

width:10px;

height:20px;

color:gray;

float:left;

text-align:center;

font-weight:bold;

}

/*图片3导航控制div*/

#divMap33

{

border:1pxsolidred;

width:10px;

height:20px;

float:left;

color:gray;

text-align:center;

font-weight:bold;

}

/style

scripttype=text/javascript

window.onload=function(){

varimgs=[1.jpg,2.jpg,3.jpg];//设定想要显示的图片

vari=1;

varmap=document.getElementById(divMap3);//获取DIV对象

map.style.background=url(1.jpg);//设置初始图片为1.jpg

functionchangeMap(){

i++;

i=i%3;//超过3则取余数,保证在1、2、3之间循环

map.style.background=url(+imgs[i]+);

}

setInterval(changeMap,);//循环调用changeMap()函数,时间间隔为毫秒

}

/script

/head

body

divid=divMap3

/div

divid=divNavgate3

divid=divMap/div

divid=divMap/div

divid=divMap/div

/div

/body

/html

完成图片切换,用到了简单的CSS样式和JavaScript代码,简单且容易动手。大家也快动手试试吧。




转载请注明:http://www.aierlanlan.com/cyrz/3962.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了