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é)合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)事要向用戶提供視覺提示,表明特定圖像所代表的是超鏈接。具體的做法可以是利用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)單的腳本,用來顯示點(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)事要向用戶提供視覺提示,表明特定圖像所代表的是超鏈接。具體的做法可以是利用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)單的腳本,用來顯示點(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ù)用戶在圖像上點(diǎn)擊區(qū)域的不同做出有差別的反應(yīng),比如返回不同的響應(yīng)信息。如果省略了img元素上的 ismap 屬性,鼠標(biāo)點(diǎn)擊的坐標(biāo)就不會(huì)被包含在請(qǐng)求 URL 中。
2 創(chuàng)建客戶端分區(qū)響應(yīng)圖
我們可以創(chuàng)建一個(gè)客戶端分區(qū)響應(yīng)圖,通過點(diǎn)擊某張圖像上的不同區(qū)域讓瀏覽器導(dǎo)航到不同的URL上。這一過程不需要通過服務(wù)器引導(dǎo),因此需要使用元素定義圖像上的各個(gè)區(qū)域以及它們所代表的行為??蛻舳朔謪^(qū)響應(yīng)圖的關(guān)鍵元素是 map,map元素包含一個(gè)或多個(gè)area元素,它們各自代表了圖像上可被點(diǎn)擊的一塊區(qū)域 。
area元素的屬性可以分為兩類,第一類處理的是area所代表的圖像區(qū)域被用戶點(diǎn)擊后瀏覽器會(huì)導(dǎo)航到的URL。下圖介紹了這一類屬性,它們類似于在其他元素上見到過的對(duì)應(yīng)屬性。
第二類則包含了更有意思的屬性:shape 和 coords 屬性??梢杂眠@些屬性來標(biāo)明用戶可以點(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){ //通過對(duì)話框顯示產(chǎn)品,表示對(duì)應(yīng)的跳轉(zhuǎn)頁面 alert("This is product "+num); } </script> </body>
顯示效果是一樣的,只是在點(diǎn)擊對(duì)應(yīng)的產(chǎn)品圖片,會(huì)彈出對(duì)應(yīng)的產(chǎn)品名稱,表示跳轉(zhuǎn)的產(chǎn)品頁面。
以上這篇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ī)硪黄獪\談JavaScript函數(shù)的四種存在形態(tài)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06Javascript核心讀書有感之詞法結(jié)構(gòu)
這篇文章主要介紹了Javascript核心讀書有感之詞法結(jié)構(gòu),需要的朋友可以參考下2015-02-02js之WEB開發(fā)調(diào)試?yán)?Firebug 下載
js之WEB開發(fā)調(diào)試?yán)?Firebug 下載...2007-01-01JavaScript設(shè)計(jì)模式開發(fā)中組合模式的使用教程
組合模式可以理解為樹狀結(jié)構(gòu),因此組合模式適合對(duì)大批對(duì)象的操作,特別是層次結(jié)構(gòu)分明的,下面我們就來看看號(hào)稱面向?qū)ο蟮腏avaScript設(shè)計(jì)模式開發(fā)中組合模式的使用教程2016-05-05