国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue?鼠標(biāo)點(diǎn)擊圖片做紅點(diǎn)標(biāo)記

這篇具有很好參考價(jià)值的文章主要介紹了vue?鼠標(biāo)點(diǎn)擊圖片做紅點(diǎn)標(biāo)記。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

實(shí)現(xiàn)內(nèi)容

需要實(shí)現(xiàn)點(diǎn)擊圖片標(biāo)記紅點(diǎn),主要實(shí)現(xiàn)了兩種方式:

  1. 只要鼠標(biāo)點(diǎn)擊,就進(jìn)行標(biāo)記,可標(biāo)記多個(gè)點(diǎn),再次點(diǎn)擊已標(biāo)記的點(diǎn),就取消勾選

  1. 鼠標(biāo)多次點(diǎn)擊界面只存在一個(gè)點(diǎn)

一、只要鼠標(biāo)點(diǎn)擊,就進(jìn)行標(biāo)記,可標(biāo)記多個(gè)點(diǎn),再次點(diǎn)擊已標(biāo)記的點(diǎn),就取消標(biāo)記

實(shí)現(xiàn)效果
vue 圖片標(biāo)點(diǎn),vue,vue,elementui,Powered by 金山文檔
實(shí)現(xiàn)代碼
<template>
  <div class="app-container">

    <el-form size="medium">
      <div id="block">
        <!-- 變量賦值 :src="imageUrl"  -->
        <!-- 直接讀取文件路徑 :src="require('@/assets/images/profile.jpg')" -->
        <el-image id="imageRef" fit="contain" :src="require('@/assets/images/小狗.jpg')" style="width:640px;height:768px;"
          @click="clickMarkPoint($event)"></el-image>
      </div>
      <el-tag type="info">點(diǎn)擊鼠標(biāo)左鍵,進(jìn)行標(biāo)注</el-tag>
      <el-form-item label="X軸坐標(biāo):">
        {{ markData.xAxis }}
      </el-form-item>
      <el-form-item label="Y軸坐標(biāo):">
        {{ markData.yAxis }}
      </el-form-item>
    </el-form>

  </div>
</template>
  
<script>

export default {
  name: "markPointPage",
  data() {
    return {
      // 標(biāo)記圖坐標(biāo)顯示
      markData: {
        xAxis: 0,
        yAxis: 0,
        rowIndex: 0,
        imageUrl: ''
      },
      // 紅點(diǎn)數(shù)
      index: 0
    }

  },

  methods: {
    clickMarkPoint(e) {
      // e.offsetX 相對(duì)于圖片的X坐標(biāo)  
      //  e.offsetY 相對(duì)于圖片的Y坐標(biāo)
      this.markPoint(e.offsetX, e.offsetY);
      this.markData.xAxis = e.offsetX;
      this.markData.yAxis = e.offsetY;
    },
    markPoint(offsetX, offsetY) {
      var nameIndex=this.index++;
      // 點(diǎn)擊多個(gè)點(diǎn),生成多個(gè)值
      var div = document.createElement("div"+nameIndex);
      div.className = "marker";
      div.id = "marker"+nameIndex;
      // 紅點(diǎn)的寬
      div.style.width = "45px";
      // 紅點(diǎn)的高
      div.style.height = "45px";
      // 紅點(diǎn)顏色
      div.style.backgroundColor = "red";
      div.style.left = offsetX + "px";
      div.style.top = offsetY + "px";
      div.style.position = "absolute";
      // 邊框半徑百分比
      div.style.borderRadius = "50%";
      div.innerHTML = "<span><font color='yellow'>謝主隆恩</font></span>";
      document.getElementById("block").appendChild(div);

      // 添加點(diǎn)擊事件,再次點(diǎn)擊標(biāo)記點(diǎn),則移除紅點(diǎn)
      document.getElementById("marker"+nameIndex).addEventListener("click", function(){
        // 移除點(diǎn)
        console.log(nameIndex)
        var markPointAxis = document.getElementById("marker"+nameIndex);
        markPointAxis.remove(markPointAxis);
      });
    }
  }

}

</script>

二、鼠標(biāo)多次點(diǎn)擊界面只存在一個(gè)點(diǎn)

實(shí)現(xiàn)效果
vue 圖片標(biāo)點(diǎn),vue,vue,elementui,Powered by 金山文檔
實(shí)現(xiàn)代碼
<template>
  <div class="app-container">

    <el-form size="medium">
      <div id="block">
        <!-- 變量賦值 :src="imageUrl"  -->
        <!-- 直接讀取文件路徑 :src="require('@/assets/images/profile.jpg')" -->
        <el-image id="imageRef" fit="contain" :src="require('@/assets/images/小狗.jpg')" style="width:640px;height:768px;"
          @click="clickMarkPoint($event)"></el-image>
      </div>
      <el-tag type="info">點(diǎn)擊鼠標(biāo)左鍵,進(jìn)行標(biāo)注</el-tag>
      <el-form-item label="X軸坐標(biāo):">
        {{ markData.xAxis }}
      </el-form-item>
      <el-form-item label="Y軸坐標(biāo):">
        {{ markData.yAxis }}
      </el-form-item>
    </el-form>

  </div>
</template>
  
<script>

export default {
  name: "markPointPage",
  data() {
    return {
      // 標(biāo)記圖坐標(biāo)顯示
      markData: {
        xAxis: 0,
        yAxis: 0,
        rowIndex: 0,
        imageUrl: ''
      },
      // 紅點(diǎn)數(shù)
      index: 0
    }

  },

  methods: {
    clickMarkPoint(e) {
      // e.offsetX 相對(duì)于圖片的X坐標(biāo)  
      //  e.offsetY 相對(duì)于圖片的Y坐標(biāo)
      this.markPoint(e.offsetX, e.offsetY);
      this.markData.xAxis = e.offsetX;
      this.markData.yAxis = e.offsetY;
    },
    markPoint(offsetX, offsetY) {
      // 頁(yè)面只有一個(gè)點(diǎn),再次移除marker
      if (document.getElementsByClassName("marker").length > 0) {
        // 移除點(diǎn)
        var markPointAxis = document.getElementById("marker");
        markPointAxis.remove(markPointAxis);
      }
      var div = document.createElement("div");
      div.className = "marker";
      div.id = "marker";
      // 紅點(diǎn)的寬
      div.style.width = "45px";
      // 紅點(diǎn)的高
      div.style.height = "45px";
      // 紅點(diǎn)顏色
      div.style.backgroundColor = "red";
      div.style.left = offsetX + "px";
      div.style.top = offsetY + "px";
      div.style.position = "absolute";
      // 邊框半徑百分比
      div.style.borderRadius = "50%";
      div.innerHTML = "<span><font color='yellow'>謝主隆恩</font></span>";
      document.getElementById("block").appendChild(div);
    }
  }

}

</script>

如果對(duì)您有幫助,點(diǎn)個(gè)贊,O(∩_∩)O哈哈~文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-516760.html

到了這里,關(guān)于vue?鼠標(biāo)點(diǎn)擊圖片做紅點(diǎn)標(biāo)記的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包