在html中三个图片切换,轻松搞定网页中的图片切换

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

1d53c44a61c2e4a2574fc086d6583467.png某网站首页滚动切换图片

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

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

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

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

1.1、运行效果

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

7a58833f9051fccd517f27b5c744e614.png鼠标移到1号图时显示第一张图

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

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

1.2、实现思路

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

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

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

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

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

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

注意要点:

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

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

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

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

1.3、具体实现

Document

/* 图片显示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:鼠标移动到不同编号时切换图片

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

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

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

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

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

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

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

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

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

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

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

其效果图如下:

6990bf650d4c10bc7315cae61f66ceca.png每隔一定时间间隔自动切换图片

完整代码如下:

Document

/* part 3*/

#divMap3

{

border:1px solid #dddddd;

width:243px;

height:300px;

background:url(1.jpg);

}

/* 图片导航控制div */

#divNavgate3

{

border:0px solid red;

width:40px;

height:20px;

position:absolute;

left:210px;

top:340px;

color:white;

text-align:center;

font-weight:bold;

}

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

#divMap31

{

border:1px solid red;

width:10px;

height:20px;

color:gray;

float:left;

text-align:center;

font-weight:bold;

}

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

#divMap32

{

border:1px solid red;

width:10px;

height:20px;

color:gray;

float:left;

text-align:center;

font-weight:bold;

}

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

#divMap33

{

border:1px solid red;

width:10px;

height:20px;

float:left;

color:gray;

text-align:center;

font-weight:bold;

}

window.οnlοad=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代码,简单且容易动手。大家也快动手试试吧。

举报/反馈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/257283.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 进程编程速成

python具有thread多线程库,但多线程并不是真正的多线程,不能充分利用多核CPU资源。 在大多数情况下,python可以使用multiprocessing多进程库,可以轻松完成从单进程到并发执行的转换。 multiprocessing库支持子进程、通信和共享数据…

requirejs(shim)处理加载非AMD规范的js库

使用requirejs加载模块,模块的定义得遵守AMD规范,也即定义模块的时候使用如下函数定义模块: 1 define(function(){ 2 var private function(){ 3 console.log(私有方法...); 4 }; 5 return { 6 public:funct…

关于常用meta的总结

入行也半年了,无数次的想过写博客也无数次的想过第一篇会写什么,一直没有落实。今天心血来潮把博客开了,那就写点东西吧。第一篇就写一写看似简单但又经常不注意到的meta标签吧。(博主经验尚浅,有许多理解不到位的地方…

计算机应用基础18春在线作业1答案,东师计算机应用基础-18春在线作业1.docx

东师计算机应用基础18春在线作业11、A 2、C 3、C 4、C 5、B一、单选题共25题,62.5分1、国际区位、全拼双音、五笔字型和自然码是不同种类的汉字A外码B内码C字型码D交换码正确答案是:A2、汉字字形码的使用是在____A输入时B内部传送时C输出时D两台计算机之…

jQuery Validate 验证,校验规则写在控件中的具体例子

将校验规则写到控件中 <script src"../js/jquery.js" type"text/javascript"></script> <script src"../js/jquery.validate.js" type"text/javascript"></script> <script src"./js/jquery.metadata…

在oracle中使用Trigger

1、初始目标 在对表h1插入一条数据时&#xff0c;同时插入一条重复的数据&#xff08;只有主键不同&#xff09; 2、在PL/SQL里New一个Trigger或者手动敲入代码 先说明一下&#xff0c;表h1包括4列ID、C1、C2、C3 create or replace trigger Trigger_Testafter insert on h1for…

html突出显示,javascript-记住html页面中突出显示的文本(向html页面添加注释)

我有一个HTML文件,我正在用webkit打开它,我想开发一个应用程序,这样,在打开它之后,我应该能够选择一些文本并将其突出显示(例如,按下“ highlight text”按钮).并且它应该记住突出显示的文本,以便下次打开时应自动突出显示相同的文本…要存储哪些信息,以便下次可以突出显示相同…

cygwin

根据cygwin user guide翻译整理&#xff0c;希望对大家有所帮助。有错误清指出。 1 引言 cygwin是一个在windows平台上运行的unix模拟环境&#xff0c;是cygnus solutions公司开发的自由软件&#xff08;该公司开发了很多好东西&#xff0c;著名的还有eCos&#xff0c;不…

JAVA wait(), notify(),sleep具体解释

在CSDN开了博客后&#xff0c;一直也没在上面公布过文章&#xff0c;直到前一段时间与一位前辈的对话&#xff0c;才发现技术博客的重要&#xff0c;立志要把CSDN的博客建好。但一直没有找到好的开篇的主题&#xff0c;今天再看JAVA线程相互排斥、同步的时候又有了新的体会&…

通过键盘上下键 JS事件,控制候选词的选择项

效果图 JS代码 //上下键 选择事件 searchBackgroud 为样式&#xff0c;只做标记&#xff0c;无实质样式&#xff0c;因为和其他样式不兼容&#xff0c;只能添加CSS$(document).keydown(function (event) {var upDownClickNum $("#SearchTips .searchBackgroud ").l…

物理竞赛得奖学计算机,物理竞赛林紫琪带你探索清华学堂计算机科学实验班”(姚班)...

林紫琪&#xff0c;34届全国中学生物理竞赛全国第22名&#xff0c;获得女生最高分&#xff0c;入选国家集训队&#xff0c;现就读于清华姚班。这是一条小科普&#xff1a;“清华学堂计算机科学实验班”(姚班)由世界著名计算机科学家姚期智院士于2005年创办&#xff0c;致力于培…

Jmeter===Jmeter中使用CSV Data Set Config参数化不重复数据执行N遍(转)

Jmeter中使用CSV Data Set Config参数化不重复数据执行N遍 要求&#xff1a; 今天要测试上千条数据&#xff0c;且每条数据要求执行多次&#xff0c;&#xff08;模拟多用户多次抽奖&#xff09; 1.用户id有175个&#xff0c;且没有任何排序规则&#xff1b; 2.要求175个用户都…

[转]wireshark 实用过滤表达式(针对ip、协议、端口、长度和内容) 实例介绍

首先说几个最常用的关键字&#xff0c;“eq” 和 “”等同&#xff0c;可以使用 “and” 表示并且&#xff0c;“or”表示或者。“!" 和 "not” 都表示取反。 一、针对wireshark最常用的自然是针对IP地址的过滤。其中有几种情况&#xff1a; &#xff08;1&#xff0…

[Flexbox] Using order to rearrange flexbox children

Using the order property we alter the order in which flexbox children appear on the page, without making changes to the dom. Desktop Mobile 转载于:https://www.cnblogs.com/Answer1215/p/5453671.html

计算机怎么更改用户头像像,Win10系统电脑账户头像怎么改成系统默认状态?

为了保护电脑的安全&#xff0c;我们可以设置登录账号密码&#xff0c;而账号的头像也是可以自行更换的。但是&#xff0c;某些时候&#xff0c;因为一些原因&#xff0c;我们需要将Win10系统账户的头像去掉&#xff0c;即改成默认状态。但是很多人都不清楚该怎么操作&#xff…

SPFA模板

今天去听2015ZJOI浙江省队第二试的集训&#xff0c;早上就是听得云里雾里的ORZ&#xff0c;下午某两集训队大神过来将题目&#xff0c;第一个进了IOI的我只听懂了10%ORZ&#xff0c;第二个人机交互很好玩&#xff0c;找个时间单独写下。 顺便附带膜拜各位聚聚&#xff0c;保我明…

LCM在Kernel中的代码分析

lcm的分析首先是mtkfb.c 1.mtk_init中platform_driver_register(&mtkfb_driver)注册平台驱动 panelmaster_init(); DBG_init(); mtkfb_ipo_init(); 2.mtkfb_probe进行普配 3.然后执行primary_display_init(mtkfb_find_lcm_driver(),lcd_fps); 4.mtkfb_find_lcm_driver()进行…

html ascii编码方式,HTML 字符集 参考手册

要正确显示一个 HTML 页面&#xff0c;浏览器必须知道要使用的字符集(字符编码)。HTML 字符集在 HTML 中&#xff0c;正确的字符编码是什么&#xff1f;HTML5 中默认的字符编码是 UTF-8。这并非总是如此。早期网络的字符编码是 ASCII 码。后来&#xff0c;从 HTML 2.0 到 HTML …

JavaScript 中的闭包和作用域链(读书笔记)

要想理解闭包&#xff0c;应当先理解JavaScript的作用域和作用域链。 JavaScript有一个特性被称之为“声明提前&#xff08;hoisting&#xff09;”&#xff0c;即JavaScript函数里声明的所有变量&#xff08;但不涉及赋值&#xff09;都被“提前”至函数体的顶部&#xff0c;“…

leetcode jump game ii

题目&#xff1a; Given an array of non-negative integers, you are initially positioned at the first index of the array. Each element in the array represents your maximum jump length at that position. Your goal is to reach the last index in the minimum numb…