【Javascript 基礎】嵌入圖像

来源:http://www.cnblogs.com/luka/archive/2016/06/13/5580949.html
-Advertisement-
Play Games

img元素允許我們在HTML文檔里嵌入圖像。 要嵌入一張圖像需要使用src和alt屬性,代碼如下: 顯示效果: 1 在超鏈接里嵌入圖像 img元素的一個常見用法是結合a元素創建一個基於圖像的超鏈接,代碼如下: 瀏覽器顯示這張圖片的方式沒有什麼不同。因此,重要的一點事要向用戶提供視覺提示,表明特定圖像 ...


img元素允許我們在HTML文檔里嵌入圖像。

要嵌入一張圖像需要使用src和alt屬性,代碼如下:

<img src="../img/example/img-map.jpg" alt="Products Image" width="580" height="266" />

顯示效果:

1 在超鏈接里嵌入圖像

img元素的一個常見用法是結合a元素創建一個基於圖像的超鏈接,代碼如下:

<a href="otherpage.html">
    <img src="../img/example/img-map.jpg" ismap alt="Products Image" width="580" height="266" />
</a>


瀏覽器顯示這張圖片的方式沒有什麼不同。因此,重要的一點事要向用戶提供視覺提示,表明特定圖像所代表的是超鏈接。具體的做法可以是利用CSS,能在圖像內容里表達則更好。

 

如果點擊這種圖片,瀏覽器會導航至父元素a的href屬性所指定的URL上。給 img 元素應用 ismap 屬性就創建了一個伺服器端分部響應圖,意思是在圖像上點擊的位置會附加到URL上。舉個例子,如果點擊的位置是距圖像頂部8像素,左邊緣10像素,瀏覽器就會導航到下麵的地址:

https://yexiaochao.github.io/show4cnblogs/otherpage.html?10,8

下麵代碼展示了 otherpage.html 中的內容,它包含了一個簡單的腳本,用來顯示點擊位置的坐標:

<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>

可以看到滑鼠點擊產生的效果:

伺服器端分區響應圖通常意味著伺服器會根據用戶在圖像上點擊區域的不同做出有差別的反應,比如返回不同的響應信息。如果省略了img元素上的 ismap 屬性,滑鼠點擊的坐標就不會被包含在請求 URL 中。

 

2 創建客戶端分區響應圖

我們可以創建一個客戶端分區響應圖,通過點擊某張圖像上的不同區域讓瀏覽器導航到不同的URL上。這一過程不需要通過伺服器引導,因此需要使用元素定義圖像上的各個區域以及它們所代表的行為。客戶端分區響應圖的關鍵元素是 map,map元素包含一個或多個area元素,它們各自代表了圖像上可被點擊的一塊區域 。

area元素的屬性可以分為兩類,第一類處理的是area所代表的圖像區域被用戶點擊後瀏覽器會導航到的URL。下圖介紹了這一類屬性,它們類似於在其他元素上見到過的對應屬性。

第二類則包含了更有意思的屬性:shape 和 coords 屬性。可以用這些屬性來標明用戶可以點擊的各個圖像區域。 shape 和 coords 屬性是共同起作用的。 coords 屬性的意思根據 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){
         //通過對話框顯示產品,表示對應的跳轉頁面
         alert("This is product "+num);
     }
</script>
</body>

點擊鏈接查看效果:http://yexiaochao.github.io/show4cnblogs/img-map.html

顯示效果是一樣的,只是在點擊對應的產品圖片,會彈出對應的產品名稱,表示跳轉的產品頁面。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • * String類是不可變類,只要對String進行修改,都會導致新的對象生成。 * StringBuffer和StringBuilder都是可變類,任何對字元串的改變都不會產生新的對象。 在實際使用時,如果經常需要對一個字元串進行修改,例如插入、刪除等 * 但StringBuffer和String ...
  • 實習階段每天都閑著沒事,今天看了一天的Python。以前聽說過python非常簡潔,就像讀英文一樣簡單,而且我貌似以前在google的招聘信息上看到過python。今天一看,相比起C#,C,java還有vb,python確實非常簡潔。 於是,花半小時把python的簡潔之處總結一下,也算是個學習小結 ...
  • 在mysql客戶端與mysql服務端之間,存在著一個字元集轉換器。 character_set_client =>gbk:轉換器就知道客戶端發送過來的是gbk格式的編碼 character_set_connection=>gbk:將客戶端傳送過來的數據轉換成gbk格式 character_set_r ...
  • 在學習c++的過程中,也曾經學習java,就發現java有類的嵌套,而看的c++的書,從來沒有哪個講c++的類可以嵌套,於是就試了一下,看是否c++可以嵌套類(編譯環境vc++6.0) 於是有了下麵的代碼: 1 #include <iostream> 2 using namespace std; 3 ...
  • 提到線程安全,可能大家的第一反應是要確保介面對共用變數的操作要具體原子性。實際上,在多線程編程中我們需要同時關註可見性、順序性和原子性問題。本篇文章將從這三個問題出發,結合實例詳解volatile如何保證可見性及一定程式上保證順序性,同時例講synchronized如何同時保證可見性和原子性,最後對... ...
  • 1.意圖 為其它對象提供一種代理以控制對這個對象的訪問。 2.別名 Surrogate. 3.動機 通過Proxy可以達到對一個對象的訪問控制。 4.適用性 遠程代理 為一個對象在不同地址空間提供局部代表。 虛代理 根據需要創建開銷很大的對象。 保護代理 控制對原始對象的訪問。 智能指引 取代了指針 ...
  • 回到目錄 讓大叔興奮的自動化註冊 對於領域事件之前說過,在程式啟動時訂閱(註冊)一些事件處理程式,然後在程式的具體位置去發佈(觸發)它,這是傳統的pub/sub模式的體現,當然也沒有什麼問題,為了讓它支持分散式的場景,我們引用了redis這種存儲介質,這一切都早已集成到了Lind.DDD架構中,對些 ...
  • 在過去幾年中,微服務悄然卻堅定地在擁擠的軟體架構市場上占據了一席之地。與傳統單一整體式架構有所不同,微服務架構並不是將應用作為單體來構建的。雖然單一整體式架構本來是很可靠的,但相關的問題越來越多,特別是在更多應用採用雲端部署的方式之後。微服務架構屬於模塊化的結構,它並非是由拼插在一起的組件堆成,而是 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...