Javascript基礎(chǔ)_嵌入圖像的簡(jiǎn)單實(shí)現(xiàn)
img元素允許我們?cè)贖TML文檔里嵌入圖像。
要嵌入一張圖像需要使用src和alt屬性,代碼如下:
<img src="../img/example/img-map.jpg" alt="Products Image" width="580" height="266" />
顯示效果:

1 在超鏈接里嵌入圖像
img元素的一個(gè)常見(jiàn)用法是結(jié)合a元素創(chuàng)建一個(gè)基于圖像的超鏈接,代碼如下:
<a href="otherpage.html"> <img src="../img/example/img-map.jpg" ismap alt="Products Image" width="580" height="266" /> </a>
瀏覽器顯示這張圖片的方式?jīng)]有什么不同。因此,重要的一點(diǎn)事要向用戶(hù)提供視覺(jué)提示,表明特定圖像所代表的是超鏈接。具體的做法可以是利用CSS,能在圖像內(nèi)容里表達(dá)則更好。
如果點(diǎn)擊這種圖片,瀏覽器會(huì)導(dǎo)航至父元素a的href屬性所指定的URL上。給 img 元素應(yīng)用 ismap 屬性就創(chuàng)建了一個(gè)服務(wù)器端分部響應(yīng)圖,意思是在圖像上點(diǎn)擊的位置會(huì)附加到URL上。舉個(gè)例子,如果點(diǎn)擊的位置是距圖像頂部8像素,左邊緣10像素,瀏覽器就會(huì)導(dǎo)航到下面的地址:
https://yexiaochao.github.io/show4cnblogs/otherpage.html?10,8
下面代碼展示了 otherpage.html 中的內(nèi)容,它包含了一個(gè)簡(jiǎn)單的腳本,用來(lái)顯示點(diǎn)擊位置的坐標(biāo):
<body>
<p>The X-coordinate is <b><span id="xco">??</span></b></p>
<p>The Y-coordinate is <b><span id="yco">??</span></b></p>
<script type="application/javascript">
var coords = window.location.href.split('?')[1].split(',');
document.getElementById("xco").innerHTML = coords[0];
document.getElementById("yco").innerHTML = coords[1];
</script>
</body>
瀏覽器顯示這張圖片的方式?jīng)]有什么不同。因此,重要的一點(diǎn)事要向用戶(hù)提供視覺(jué)提示,表明特定圖像所代表的是超鏈接。具體的做法可以是利用CSS,能在圖像內(nèi)容里表達(dá)則更好。
如果點(diǎn)擊這種圖片,瀏覽器會(huì)導(dǎo)航至父元素a的href屬性所指定的URL上。給 img 元素應(yīng)用 ismap 屬性就創(chuàng)建了一個(gè)服務(wù)器端分部響應(yīng)圖,意思是在圖像上點(diǎn)擊的位置會(huì)附加到URL上。舉個(gè)例子,如果點(diǎn)擊的位置是距圖像頂部8像素,左邊緣10像素,瀏覽器就會(huì)導(dǎo)航到下面的地址:
https://yexiaochao.github.io/show4cnblogs/otherpage.html?10,8
下面代碼展示了 otherpage.html 中的內(nèi)容,它包含了一個(gè)簡(jiǎn)單的腳本,用來(lái)顯示點(diǎn)擊位置的坐標(biāo):
<body>
<p>The X-coordinate is <b><span id="xco">??</span></b></p>
<p>The Y-coordinate is <b><span id="yco">??</span></b></p>
<script type="application/javascript">
var coords = window.location.href.split('?')[1].split(',');
document.getElementById("xco").innerHTML = coords[0];
document.getElementById("yco").innerHTML = coords[1];
</script>
</body>
可以看到鼠標(biāo)點(diǎn)擊產(chǎn)生的效果:

服務(wù)器端分區(qū)響應(yīng)圖通常意味著服務(wù)器會(huì)根據(jù)用戶(hù)在圖像上點(diǎn)擊區(qū)域的不同做出有差別的反應(yīng),比如返回不同的響應(yīng)信息。如果省略了img元素上的 ismap 屬性,鼠標(biāo)點(diǎn)擊的坐標(biāo)就不會(huì)被包含在請(qǐng)求 URL 中。
2 創(chuàng)建客戶(hù)端分區(qū)響應(yīng)圖
我們可以創(chuàng)建一個(gè)客戶(hù)端分區(qū)響應(yīng)圖,通過(guò)點(diǎn)擊某張圖像上的不同區(qū)域讓瀏覽器導(dǎo)航到不同的URL上。這一過(guò)程不需要通過(guò)服務(wù)器引導(dǎo),因此需要使用元素定義圖像上的各個(gè)區(qū)域以及它們所代表的行為??蛻?hù)端分區(qū)響應(yīng)圖的關(guān)鍵元素是 map,map元素包含一個(gè)或多個(gè)area元素,它們各自代表了圖像上可被點(diǎn)擊的一塊區(qū)域 。
area元素的屬性可以分為兩類(lèi),第一類(lèi)處理的是area所代表的圖像區(qū)域被用戶(hù)點(diǎn)擊后瀏覽器會(huì)導(dǎo)航到的URL。下圖介紹了這一類(lèi)屬性,它們類(lèi)似于在其他元素上見(jiàn)到過(guò)的對(duì)應(yīng)屬性。

第二類(lèi)則包含了更有意思的屬性:shape 和 coords 屬性。可以用這些屬性來(lái)標(biāo)明用戶(hù)可以點(diǎn)擊的各個(gè)圖像區(qū)域。 shape 和 coords 屬性是共同起作用的。 coords 屬性的意思根據(jù) shape 屬性的值而定,正如下圖所示:

介紹完這些元素后,舉個(gè)例子,代碼如下:
<body>
<img src="../img/example/img-map.jpg" ismap alt="Products Image" usemap="#mymap" width="580" height="266" />
<map name="mymap">
<area href="javascript:show_page(1)" shape="rect" coords="'34,60,196,230" alt="product 1" />
<area href="javascript:show_page(2)" shape="rect" coords="'210,60,370,230" alt="product 2" />
<area href="javascript:show_page(3)" shape="rect" coords="'383,60,545,230" alt="product 3" />
</map>
<script type="application/javascript">
function show_page(num){
//通過(guò)對(duì)話(huà)框顯示產(chǎn)品,表示對(duì)應(yīng)的跳轉(zhuǎn)頁(yè)面
alert("This is product "+num);
}
</script>
</body>
顯示效果是一樣的,只是在點(diǎn)擊對(duì)應(yīng)的產(chǎn)品圖片,會(huì)彈出對(duì)應(yīng)的產(chǎn)品名稱(chēng),表示跳轉(zhuǎn)的產(chǎn)品頁(yè)面。
以上這篇Javascript基礎(chǔ)_嵌入圖像的簡(jiǎn)單實(shí)現(xiàn)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
js數(shù)組方法擴(kuò)展實(shí)現(xiàn)數(shù)組統(tǒng)計(jì)函數(shù)
這篇文章主要介紹了js數(shù)組方法擴(kuò)展,實(shí)現(xiàn)數(shù)組統(tǒng)計(jì)函數(shù),需要的朋友可以參考下2014-04-04
淺談JavaScript函數(shù)的四種存在形態(tài)
下面小編就為大家?guī)?lái)一篇淺談JavaScript函數(shù)的四種存在形態(tài)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06
Javascript核心讀書(shū)有感之詞法結(jié)構(gòu)
這篇文章主要介紹了Javascript核心讀書(shū)有感之詞法結(jié)構(gòu),需要的朋友可以參考下2015-02-02
js之WEB開(kāi)發(fā)調(diào)試?yán)?Firebug 下載
js之WEB開(kāi)發(fā)調(diào)試?yán)?Firebug 下載...2007-01-01
js中值類(lèi)型和引用類(lèi)型的區(qū)別介紹
這篇文章介紹了js中值類(lèi)型和引用類(lèi)型的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06
JavaScript設(shè)計(jì)模式開(kāi)發(fā)中組合模式的使用教程
組合模式可以理解為樹(shù)狀結(jié)構(gòu),因此組合模式適合對(duì)大批對(duì)象的操作,特別是層次結(jié)構(gòu)分明的,下面我們就來(lái)看看號(hào)稱(chēng)面向?qū)ο蟮腏avaScript設(shè)計(jì)模式開(kāi)發(fā)中組合模式的使用教程2016-05-05

