轻松搞定网页的图片切换效果

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

轻松搞定网页的图片切换效果

新浪门户网站的首页滚动切换图片

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

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

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

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

1.1、运行效果

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

轻松搞定网页的图片切换效果

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

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


轻松搞定网页的图片切换效果

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


1.2、实现思路

因为图片是在同一个方框区域显示的,所以,显示其中一张图片时,其他图片就不能显示出来。切换图片的关键是,把显示图片

标签的background属性值改变了。问题是background属性的值该怎么改变呢?这里用户是要移动鼠标的。所以,当用户移动鼠标到不同图片编号时,我们就可以改变background属性的值了。

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

那么多的div标签,该修改哪个div标签的background属性的值呢?我们可以用document对象的getElementById方法,通过指定要修改的div标签的id值(比如

),来找到要修改的div标签,才能正确修改。如下图所示:


轻松搞定网页的图片切换效果

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

注意要点:

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

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

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

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

1.3、具体实现

<title>Document/<title>

<style>

/* 图片显示div */

#divMap1

{

border:1px solid #dddddd;

width:243px;

height:300px;

background:url(1.jpg);

}

/* 图片导航控制div */

#divNavgate1

{

border:0px solid red;

width:40px;

height:20px;

position:absolute;

left:210px;

top:337px;

color:white;

text-align:center;

font-weight:bold;

}

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

#divMap11

{

border:1px solid red;

width:10px;

height:20px;

color:gray;

float:left;

text-align:center;

font-weight:bold;

}

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

#divMap12

{

border:1px solid red;

width:10px;

height:20px;

color:gray;

float:left;

text-align:center;

font-weight:bold;

}

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

#divMap13

{

border:1px solid red;

width:10px;

height:20px;

float:left;

color:gray;

text-align:center;

font-weight:bold;

}

图片切换1:鼠标移动/<font>到不同编号时切换图片

onmousemove=

"document.getElementById('divMap1').style.background='url(1.jpg)'">1

onmousemove=

"document.getElementById('divMap1').style.background='url(2.jpg)'">2

onmousemove=

"document.getElementById('divMap1').style.background='url(3.jpg)'">3

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

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


轻松搞定网页的图片切换效果

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


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

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

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

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


轻松搞定网页的图片切换效果

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

其效果图如下:


轻松搞定网页的图片切换效果

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


完整代码如下:

<title>Document/<title>

window.onload=function(){

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

var i = 1;

var map=document.getElementById("divMap3");//获取DIV对象

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

function changeMap(){

i++;

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

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

}

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

}

1

2

3

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

"


分享到:


相關文章: