js實現(xiàn)圖片滾輪浙炼、按鈕縮放大小份氧,圖片旋轉(zhuǎn)唯袄,圖片拖拽

html代碼

<div class="upload-img-box" ref="moveWrap">
<div class="show-box" ref="rotate" @mousedown="moveImg" @mousewheel.prevent="rollImg($event,)">
<img :src="singleList.fileImgUrl" class="uploadimg" ref="img" :style="{transform:'scale('+multiples/100+') rotate('+rotate +'deg)'}"/>
</div>
<div class="img-plus" @click="toBIgChange()"><span class="tip">放大</span></div>
<div class="img-minus" @click="toSmallChange()"><span class="tip">縮小</span></div>
<div class="img-rotate" @click="toRotate()"><span class="tip">旋轉(zhuǎn)</span></div>
</div>

script代碼

  data() {
        return {
          rotate: 0, //旋轉(zhuǎn)角度
          multiples:0, //縮放大小
        }
  },
  methods: {
    // 圖片旋轉(zhuǎn)
        toRotate(){           
                this.ratate+= 90;
                if (this.ratate >= 360) {
                    this.ratate= 0
                }     
        },
// 滾輪縮放
        rollImg($event,val){
            // $event.wheelDelta統(tǒng)一為±120蜗帜,其中正數(shù)表示為向上滾動恋拷,負數(shù)表示向下滾動
            if($event.wheelDelta == 120){
                this.toBIgChange()
            }else{
                this.toSmallChange()
            }
        },
toBIgChange() {
                if (this.multiples>= 300) {
                    return;
                }
                if(this.multiples+ 10 > 300){
                    this.multiples = 300
                }else{
                    this.multiples+=10
                }
          
        },
        // 縮小
        toSmallChange() {
                if(this.multiples<10) return;
                if(val - 10 < 10){
                    this.multiples = 10
                }else{
                    this.multiples-=10
                }
           
        },  
//圖片拖拽
moveImg(e) {
            e.preventDefault()
            // 獲取元素
            let imgWrap = this.$refs.moveWrap
            let img = this.$refs.img
            let x = e.pageX - img.offsetLeft //pageX 鼠標點擊位置相對于網(wǎng)頁左上角的水平偏移量 pageY 鼠標點擊位置相對于網(wǎng)頁左上角的垂直平偏移量
            let y = e.pageY  - img.offsetTop //offsetTop相對于其最近的非static父元素的上偏移量
            // 添加鼠標移動事件
            imgWrap.addEventListener('mousemove', move)
            function move (e) {
                img.style.left = e.pageX - x + 'px'
                img.style.top = e.pageY  - y + 'px'
            }
            // 添加鼠標抬起事件,鼠標抬起厅缺,將事件移除
            img.addEventListener('mouseup', () => {
                imgWrap.removeEventListener('mousemove', move)
            })
            imgWrap.addEventListener('mouseup', () => {
                imgWrap.removeEventListener('mousemove', move)
            })
            // 鼠標離開父級元素蔬顾,把事件移除
            imgWrap.addEventListener('mouseout', () => {
                imgWrap.removeEventListener('mousemove', move)
            })
        },
  }
}```
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市湘捎,隨后出現(xiàn)的幾起案子诀豁,更是在濱河造成了極大的恐慌,老刑警劉巖窥妇,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件舷胜,死亡現(xiàn)場離奇詭異,居然都是意外死亡活翩,警方通過查閱死者的電腦和手機烹骨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來材泄,“玉大人沮焕,你說我怎么就攤上這事±冢” “怎么了峦树?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長旦事。 經(jīng)常有香客問我空入,道長,這世上最難降的妖魔是什么族檬? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任歪赢,我火速辦了婚禮,結(jié)果婚禮上单料,老公的妹妹穿的比我還像新娘埋凯。我一直安慰自己,他們只是感情好扫尖,可當(dāng)我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布白对。 她就那樣靜靜地躺著,像睡著了一般换怖。 火紅的嫁衣襯著肌膚如雪甩恼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天,我揣著相機與錄音条摸,去河邊找鬼悦污。 笑死,一個胖子當(dāng)著我的面吹牛钉蒲,可吹牛的內(nèi)容都是我干的切端。 我是一名探鬼主播,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼顷啼,長吁一口氣:“原來是場噩夢啊……” “哼踏枣!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起钙蒙,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤茵瀑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后躬厌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瘾婿,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年烤咧,在試婚紗的時候發(fā)現(xiàn)自己被綠了偏陪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡煮嫌,死狀恐怖笛谦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情昌阿,我是刑警寧澤饥脑,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站懦冰,受9級特大地震影響灶轰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜刷钢,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一笋颤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧内地,春花似錦伴澄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至荆针,卻和暖如春敞嗡,著一層夾襖步出監(jiān)牢的瞬間颁糟,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工喉悴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留棱貌,地道東北人。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓粥惧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親最盅。 傳聞我的和親對象是個殘疾皇子突雪,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,630評論 2 359

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