iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue实现div滚轮放大缩小
  • 1497
分享到

Vue实现div滚轮放大缩小

2024-04-02 19:04:59 1497人浏览 独家记忆
摘要

Vue项目中实现div滚轮放大缩小,拖拽效果,类似画布效果 1、引入插件vue-draggable-resizable,点我进入GitHub地址。 1)、npm install

Vue项目中实现div滚轮放大缩小,拖拽效果,类似画布效果

1、引入插件vue-draggable-resizable,点我进入GitHub地址。

1)、npm install --save vue-draggable-resizable
2)、main.js文件中

import VueDraggableResizable from 'vue-draggable-resizable'
import 'vue-draggable-resizable/dist/VueDraggableResizable.CSS'
Vue.component('vue-draggable-resizable', VueDraggableResizable)

3)、vue文件中使用

main.js:


import Vue from 'vue'
import App from './App'
import router from './router'
Vue.config.productionTip = false

// iview
import ViewUI from 'view-design';
import 'view-design/dist/styles/iview.css';
Vue.use(ViewUI)

// 拖拽·缩放·画布插件
import VueDraggableResizable from 'vue-draggable-resizable'
import 'vue-draggable-resizable/dist/VueDraggableResizable.css'
Vue.component('vue-draggable-resizable', VueDraggableResizable)

new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})

vue文件: 只需要关注引入组件vue-draggable-resizable配置项和handleTableWheel、tableZoom方法即可。


<template>
    <div class="is">
        <div
            style="height: 800px; width: 100%; border: 1px solid #000; position: relative; overflow: hidden;"
        >
            <!-- 引入组件. :lock-aspect-ratio="true":定纵横比例 :resizable="false": 不可缩放-->
            <vue-draggable-resizable
                w="auto"
                h="auto"
                :grid="[20,40]"
                :x="10"
                :y="10"
                :resizable="false"
            >
                <div class="table" ref="table" @wheel.prevent="handleTableWheel($event)">
                 <-- iview表格,无关紧要,任何div即可 -->
                    <Table
                        :columns="columns1"
                        :data="data1"
                        size="small"
                        :disabled-hover="true"
                        border
                    >
                        <template slot-scope="{ row, index }" slot="name">
                            <Tooltip :content="row.name" placement="top" transfer>
                                <span class="name" @click="handleCellClick(row)">{{ row.name }}</span>
                            </Tooltip>
                        </template>
                    </Table>
                </div>
            </vue-draggable-resizable>
        </div>
    </div>
</template>

<script>
import VueDraggableResizable from "vue-draggable-resizable";
export default {
    name: "is",
    data() {
        return {
            columns1: [
                {
                    title: "Name",
                    slot: "name",
                    width: 120
                },
                {
                    title: "Age",
                    key: "age",
                    width: 120
                },
                {
                    title: "Address",
                    key: "address",
                    width: 120
                },
                {
                    title: "Name",
                    key: "name",
                    width: 120
                },
                {
                    title: "Age",
                    key: "age",
                    width: 120
                },
                {
                    title: "Address",
                    key: "address",
                    width: 120
                },
                {
                    title: "Name",
                    key: "name",
                    width: 120
                },
                {
                    title: "Age",
                    key: "age",
                    width: 120
                },
                {
                    title: "Address",
                    key: "address",
                    width: 120
                }
            ],
            data1: [
                {
                    name: "John Brown",
                    age: 18,
                    address: "New York No. 1 Lake Park"
                },
                {
                    name: "Jim Green",
                    age: 25,
                    address: "London No. 1 Lake Park",
                    cellClassName: {
                        age: "demo-table-info-cell-age",
                        address: "demo-table-info-cell-address"
                    }
                },
                {
                    name: "Joe Black",
                    age: 30,
                    address: "Sydney No. 1 Lake Park"
                },
                {
                    name: "Jon Snow",
                    age: 26,
                    address: "Ottawa No. 2 Lake Park",
                    cellClassName: {
                        name: "demo-table-info-cell-name"
                    }
                },
                {
                    name: "John Brown",
                    age: 18,
                    address: "New York No. 1 Lake Park"
                },
                {
                    name: "Jim Green",
                    age: 25,
                    address: "London No. 1 Lake Park",
                    cellClassName: {
                        age: "demo-table-info-cell-age",
                        address: "demo-table-info-cell-address"
                    }
                },
                {
                    name: "Joe Black",
                    age: 30,
                    address: "Sydney No. 1 Lake Park"
                },
                {
                    name: "Jon Snow",
                    age: 26,
                    address: "Ottawa No. 2 Lake Park",
                    cellClassName: {
                        name: "demo-table-info-cell-name"
                    }
                }
            ]
        };
    },
    mounted() {},
    methods: {
        handleTableWheel(event) {
            let obj = this.$refs.table;
            return this.tableZoom(obj, event);
        },
        tableZoom(obj, event) {
            // 一开始默认是100%
            let zoom = parseInt(obj.style.zoom, 10) || 100;
            // 滚轮滚一下wheelDelta的值增加或减少120
            zoom += event.wheelDelta / 12;
            if (zoom > 0) {
                obj.style.zoom = zoom + "%";
            }
            return false;
        },
        // 单击单元格事件(用于测试拖拽是否阻止了表格默认事件,无关紧要)
        handleCellClick(row) {
            this.$Message.info("你点击了" + row.name);
        }
    }
};
</script>

<style scoped lang="less">
.is {
    .table {
        .name {
            cursor: pointer;
        }
    }
}
// iview表格样式:iview官网复制就行,无关紧要
/deep/ .ivu-table {
    .demo-table-info-row td {
        background-color: #2db7f5;
        color: #fff;
    }
    td.demo-table-info-column {
        background-color: #2db7f5;
        color: #fff;
    }
    .demo-table-error-row td {
        background-color: #ff6600;
        color: #fff;
    }
    .demo-table-info-cell-name {
        background-color: #2db7f5;
        color: #fff;
    }
    .demo-table-info-cell-age {
        background-color: #ff6600;
        color: #fff;
    }
    .demo-table-info-cell-address {
        background-color: #187;
        color: #fff;
    }
}
// 去除画布中div边框
.vdr {
    border: none;
}
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Vue实现div滚轮放大缩小

本文链接: https://www.lsjlt.com/news/128033.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue实现div滚轮放大缩小
    Vue项目中实现div滚轮放大缩小,拖拽效果,类似画布效果 1、引入插件vue-draggable-resizable,点我进入GitHub地址。 1)、npm install ...
    99+
    2022-11-12
  • IDEA/WebStorm/Pycharm鼠标滚轮ctrl+滚轮-调节缩放字体大小
    先看下IDEA/WebStorm/Pycharm鼠标滚轮ctrl+滚轮-调节字体大小,文章底部给大家提到了缩放字体大小的设置方法,耐心看完此文哈~ 由于Idea/webstorm/p...
    99+
    2022-11-12
  • ps中鼠标滚轮放大缩小的方法
    这篇文章主要介绍了ps中鼠标滚轮放大缩小的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。打开ps,点击编辑,然后点击最低端的首选,然后点击常规。点击常规后,点击工具。找出...
    99+
    2023-06-14
  • 基于jquery实现滚轮放大缩小图片的函数代码
    以下是一份基本的jquery实现滚轮放大缩小图片的函数代码 (1)滚轮控制放大缩小图片效果如图: 实现代码如下: <!DOCTYPE html> <html>...
    99+
    2023-05-18
    js滚轮放大缩小图片 jquery滚轮放大缩小
  • Vue 图片监听鼠标滑轮滚动实现图片缩小放大功能(实现思路)
    目录前言效果:实现思路全页面代码:相关知识点分享前言 其实想要实现功能很简单,就是在一张图片上监听鼠标滑轮滚动的事件,然后根据上滚还是下滚实现图片的缩放。 效果: 注:该配图使用《...
    99+
    2023-05-13
    vue图片缩小放大 vue鼠标滑轮滚动
  • Vue图片监听鼠标滑轮滚动怎么实现图片缩小放大功能
    这篇文章主要讲解了“Vue图片监听鼠标滑轮滚动怎么实现图片缩小放大功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue图片监听鼠标滑轮滚动怎么实现图片缩小放大功能”吧!效果:实现思路在j...
    99+
    2023-07-05
  • 怎么用HTML5实现鼠标滚轮事件放大缩小图片的功能
    本篇内容介绍了“怎么用HTML5实现鼠标滚轮事件放大缩小图片的功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有...
    99+
    2022-10-19
  • Python matplotlib绘图时使用鼠标滚轮放大/缩小图像
    目录思路:示例:输出效果:总结思路: 使用fig.canvas.mpl_connect()函数来绑定相关fig的滚轮事件利用事件event的inaxes属性获取当前鼠标所在坐标系ax...
    99+
    2022-11-11
  • 如何使用HTML5实现鼠标滚轮事件放大缩小图片的功能
    这篇文章主要介绍了如何使用HTML5实现鼠标滚轮事件放大缩小图片的功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 大部分浏览器都是支持...
    99+
    2022-10-19
  • vue实现放大缩小拖拽功能
    本文实例为大家分享了vue实现放大缩小拖拽功能的具体代码,供大家参考,具体内容如下 点击放大至全屏 再次点击缩小至原始  这个弹框是基于element dialog的基础上...
    99+
    2022-11-12
  • jQuery怎么实现鼠标滚轮控制图片缩放
    本文小编为大家详细介绍“jQuery怎么实现鼠标滚轮控制图片缩放”,内容详细,步骤清晰,细节处理妥当,希望这篇“jQuery怎么实现鼠标滚轮控制图片缩放”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,...
    99+
    2022-10-19
  • C#Chart折线图使用鼠标滚轮放大、缩小和平移曲线方式
    目录Chart折线图使用鼠标滚轮放大、缩小和平移曲线添加鼠标滚轮事件初始化有关参数添加鼠标按下、弹起和移动事件如何使用Chart图表效果图数据图表外观Chart折线图使用鼠标滚轮放大...
    99+
    2022-11-13
  • vue实现图片预览放大以及缩小问题
    目录vue图片预览放大以及缩小关于 viewerjs的使用vue实现图片预览(放大缩小拖拽)纯手写滚轮放大缩小图片图片拖拽整体实现的功能总结vue图片预览放大以及缩小 1....
    99+
    2023-01-14
    vue图片预览 vue图片预览放大 vue图片预览缩小
  • jQuery如何实现鼠标滚轮控制图片缩放功能
    这篇文章主要为大家展示了“jQuery如何实现鼠标滚轮控制图片缩放功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“jQuery如何实现鼠标滚轮控制图片缩放功能...
    99+
    2022-10-19
  • C# Chart折线图使用鼠标滚轮放大、缩小和平移曲线的方法
    这篇“C# Chart折线图使用鼠标滚轮放大、缩小和平移曲线的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C...
    99+
    2023-07-02
  • C语言实现图片放大缩小
    本文实例为大家分享了C语言实现图片放大缩小的具体代码,供大家参考,具体内容如下 最终项目描述和效果 鼠标按小图,左键图片缩小,右键图片放大。 代码如下 代码大致的思路就是,当鼠标点...
    99+
    2022-11-13
  • Vue实现图片预览效果实例(放大、缩小、拖拽)
    前言 这张图是显示的图片放大的一个预览情况,这里是参考预览操作实现的一个背景为黑色的部分,上层的图片可实现滚轮放大或者点击上部的放大镜图标进行放大,代码是基于Ant Design V...
    99+
    2022-11-12
  • vue如何实现图片预览放大以及缩小效果
    这篇文章主要介绍了vue如何实现图片预览放大以及缩小效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue如何实现图片预览放大以及缩小效果文章都会有所收获,下面我们一起来看看吧。vue图片预览放大以及缩小在v...
    99+
    2023-07-05
  • JS如何实现禁止用户使用Ctrl+鼠标滚轮缩放网页
    这篇文章主要为大家展示了“JS如何实现禁止用户使用Ctrl+鼠标滚轮缩放网页”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JS如何实现禁止用户使用Ctrl+鼠标...
    99+
    2022-10-19
  • Android实现ImageView图片双击放大及缩小
    本文实例介绍了Android实现ImageView图片双击放大及缩小的相关技巧,分享给大家供大家参考,具体内容如下 public class DoubleScaleImage...
    99+
    2022-06-06
    Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作