在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.pswp.cn/news/257283.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/257283.shtml
英文地址,請注明出處:http://en.pswp.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…