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

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

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

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

介紹完這些元素后,舉個例子,代碼如下:
<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){
//通過對話框顯示產(chǎn)品,表示對應(yīng)的跳轉(zhuǎn)頁面
alert("This is product "+num);
}
</script>
</body>
顯示效果是一樣的,只是在點擊對應(yīng)的產(chǎn)品圖片,會彈出對應(yīng)的產(chǎn)品名稱,表示跳轉(zhuǎn)的產(chǎn)品頁面。
以上這篇Javascript基礎(chǔ)_嵌入圖像的簡單實現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
addEventListener()第三個參數(shù)useCapture (Boolean)詳細(xì)解析
true的觸發(fā)順序總是在false之前;如果多個均為true,則外層的觸發(fā)先于內(nèi)層;如果多個均為false,則內(nèi)層的觸發(fā)先于外層2013-11-11
JavaScript DOM學(xué)習(xí)第四章 getElementByTagNames
HTML有一些相關(guān)有不同tag名字的相關(guān)元素,比如H1-H6或者input,select和TEXTAREA。getElementByTagName只能取得那些有相同tag名稱的元素,所以你不能用他來取得所有的標(biāo)題或者整個表單內(nèi)容。2010-02-02
深入學(xué)習(xí)JavaScript中的原型prototype
這篇文章主要介紹了深入學(xué)習(xí)JavaScript中的原型prototype,是JavaScript入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-08-08
javascript中undefined與null的區(qū)別
這篇文章介紹了javascript中undefined與null的區(qū)別,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06

