小编Bru*_*tao的帖子

实现单击和拖动以旋转3D对象-vue.js

我有一个按钮,单击该按钮可激活旋转功能。之后,每次我用鼠标悬停在对象上时,对象都会按照我希望的那样旋转。

现在,我想更改它并使对象旋转,只需单击它并移动鼠标(同时按住鼠标按钮)。重新释放鼠标按钮时,我希望它停止旋转。

我的代码:

HTML:

<div class="model__3d" ref="panel3d">   
<a class="button" @click.prevent="rotatemouse()">360</a>
Run Code Online (Sandbox Code Playgroud)

代码js:

rotatemouse() {

        document.querySelector('.model__3d').addEventListener('mousedown', () =>{
            document.onmousemove = handleMouseMove;
        });

        //document.onmouseup = function () {
            document.querySelector('.model__3d').addEventListener('mouseup', () =>{
            document.onmousemove = null;
        });


        //function handleMouseMove(event) {
           document.querySelector('.model__3d').addEventListener('mousemove', (event) =>{
            let eventDoc, doc, body;

            event = event || window.event;

            if (event.pageX == null && event.clientX != null) {
                eventDoc = (event.target && event.target.ownerDocument) || document;
                doc = eventDoc.documentElement;
                body = eventDoc.body;

                event.pageX = event.clientX +
                    (doc && doc.scrollLeft || body && body.scrollLeft …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js

5
推荐指数
1
解决办法
1270
查看次数

标签 统计

javascript ×1

vue.js ×1