Vue 使用map標(biāo)簽與area標(biāo)簽 給圖片添加點(diǎn)擊事件

        <div class="img-content" @click.capture="handelClickParent">
            <img class="img" @load='imgOnError()' src="https://f.yunzhengshou.com/upload/helpdoc/wx-program-resources/house-bg.png" alt="房源" border="0" usemap="#Map" />
            <map name="Map" id="Map">
              <area id="1001" shape="rect" coords="766,2095,938,2499" href="javascript:void(0)" @click="handlerFloor('1幢')" />
              <area id="1002" shape="rect" coords="351,1791,499,2151" href="javascript:void(0)" @click="handlerFloor('2幢')" />
              <area id="1003" shape="rect" coords="1086,1735,1345,2291" href="javascript:void(0)" @click="handlerFloor('4幢')" />
              <area id="1004" shape="rect" coords="203,1227,355,1647" href="javascript:void(0)" @click="handlerFloor('6幢')" />
              <area id="1005" shape="rect" coords="299,1091,531,1419" href="javascript:void(0)" @click="handlerFloor('10幢')" />
                <area id="1006" shape="rect" coords="622,1055,734,1363" href="javascript:void(0)" @click="handlerFloor('13幢')" />
              <area id="1007" shape="rect" coords="846,1231,1026,1695" href="javascript:void(0)" @click="handlerFloor('9幢')" />
              <area id="1008" shape="rect" coords="1305,1187,1545,1419" href="javascript:void(0)" @click="handlerFloor('11幢')" />
            </map>
        </div>
  • cooreds屬性:定義相關(guān)區(qū)域的坐標(biāo), 和shape屬性搭配使用
  • shape屬性:定義了相關(guān)區(qū)域的形
    • 默認(rèn)值(default):規(guī)定全部區(qū)域
    • rect: 規(guī)定相關(guān)區(qū)域?yàn)榫匦? cooreds屬性值為(x1,y1,x2,y2),其中x1,y1為左上角的坐標(biāo)赃额,x2,y2為右下角的坐標(biāo)绪钥;
    • circle: 規(guī)定相關(guān)區(qū)域?yàn)閳A形, cooreds屬性值為(x,y,radius),其中x,y為圓形的中心坐標(biāo),radius為圓形的半徑躲因;
    • poly: 規(guī)定先關(guān)區(qū)域?yàn)槎噙呅? cooreds屬性值為(x1,y1,x2,y2,x3,y3......xn,yn),規(guī)定了多邊形各個頂點(diǎn)的坐標(biāo)衡未,由于瀏覽器會自動閉合多邊形乐尊,所以尾部坐標(biāo)不必與第一個坐標(biāo)相等悬秉。
  • 對于如何測量出 cooreds屬性值, 我使用的是PS
    • 首先用 PS打開圖片, 選擇窗口勾選信息選項(xiàng)


      image.png
  • 將鼠標(biāo)放在需要定位的點(diǎn)上, 以矩形為例, 則是 左上和右下兩個點(diǎn)的坐標(biāo)(注意在測量前PS的測量工具單位需調(diào)整為像素)


    image.png
  • 根據(jù)屏幕大小的變化, 圖片尺寸發(fā)生變化, cooreds 位置進(jìn)行對應(yīng)的變化 (Vue 中將該方法放到 mounted 生命周期函數(shù)中)
              // 圖片加載完成觸發(fā)
                imgOnError() {
                    $(window).resize(function () {
                        var $img = $('.img');
                        var width = $img.width();
                        var height = $img.height();
                        var naturalWidth = $img.get(0).naturalWidth;
                        var naturalHeight = $img.get(0).naturalHeight;
                        console.log(naturalWidth);
                        console.log(naturalHeight);
                        $("#Map area").each(function () {
                            var coords = $(this).attr("coords").split(",");
                            var points = $(this).attr('points');
                            
                            if (!!points) {
                                coords = points.split(",");
                            } else {
                                $(this).attr('points', coords);
                            }
                                
                            for (i = 0; i < coords.length; i += 2) {
                                var x = coords[i];
                                var y = coords[i + 1];
                                coords[i] = parseInt(parseInt(x) * width / naturalWidth);
                                coords[i + 1] = parseInt(parseInt(y) * height / naturalHeight);
                            }
                            $(this).attr("coords", coords.join(","));
                        })
                    }).trigger('resize');
                },
Tip: 對cooreds 位置進(jìn)行計算之前一定要保證圖片加載完成
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市南缓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌荧呐,老刑警劉巖汉形,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異倍阐,居然都是意外死亡概疆,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進(jìn)店門峰搪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來岔冀,“玉大人,你說我怎么就攤上這事概耻∈固祝” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵鞠柄,是天一觀的道長侦高。 經(jīng)常有香客問我,道長厌杜,這世上最難降的妖魔是什么奉呛? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮夯尽,結(jié)果婚禮上侧馅,老公的妹妹穿的比我還像新娘。我一直安慰自己呐萌,他們只是感情好馁痴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著肺孤,像睡著了一般罗晕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赠堵,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天小渊,我揣著相機(jī)與錄音,去河邊找鬼茫叭。 笑死酬屉,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播呐萨,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼杀饵,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了谬擦?” 一聲冷哼從身側(cè)響起切距,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎惨远,沒想到半個月后谜悟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡北秽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年葡幸,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贺氓。...
    茶點(diǎn)故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡礼患,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出掠归,到底是詐尸還是另有隱情缅叠,我是刑警寧澤,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布虏冻,位于F島的核電站肤粱,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏厨相。R本人自食惡果不足惜领曼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蛮穿。 院中可真熱鬧庶骄,春花似錦、人聲如沸践磅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽府适。三九已至羔飞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間檐春,已是汗流浹背逻淌。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疟暖,地道東北人卡儒。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓田柔,卻偏偏與公主長得像,于是被迫代替她去往敵國和親骨望。 傳聞我的和親對象是個殘疾皇子硬爆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 需求 通過監(jiān)聽點(diǎn)擊圖片的某個范圍綁定事件。 如何設(shè)置html熱區(qū)锦募? 利用img結(jié)合map和area標(biāo)簽鎖定熱區(qū) H...
    Shaelyn_閱讀 2,575評論 0 0
  • 導(dǎo)航欄 一:點(diǎn)擊圖片然后進(jìn)行映射進(jìn)行你想要的操作 二:如何知道你點(diǎn)擊位置圖片的XY坐標(biāo)? 一:點(diǎn)擊圖片然后進(jìn)行映射...
    前端切圖仔閱讀 1,784評論 0 0
  • HTML <map>元素是使用<area>元素定義一個圖像地圖(點(diǎn)擊鏈接)邻遏。 在頁面中需要有一個img元素糠亩,且該i...
    hui_mamba閱讀 1,108評論 0 0
  • area 這個標(biāo)簽也非常有意思,它的作用是為圖片提供點(diǎn)擊熱區(qū)准验,可以自己規(guī)定一張圖的哪些區(qū)域可點(diǎn)擊赎线,且點(diǎn)擊后跳轉(zhuǎn)的鏈...
    涅槃快樂是金閱讀 1,113評論 0 2
  • 標(biāo)簽定義圖像映射中的區(qū)域(注:圖像映射指得是帶有可點(diǎn)擊區(qū)域的圖像)垂寥。即在圖片中映射可點(diǎn)擊的區(qū)域area標(biāo)簽總是嵌套...
    Pretty_Boy閱讀 200評論 0 0