javascript - 大神过来帮下忙啊,跪求用jq实现鼠标拖动图片旋转代码??
黄舟
黄舟 2017-04-10 17:58:18
[JavaScript讨论组]

大神发下代码啊。图标题所示,

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(4)
黄舟

个人觉得关键还是得用到CSS3过渡动画transition配合CSS3变换transform.
过渡: transition: all 1s ease-in-out;
旋转: transform: rotate(10deg);
倾斜: transform: skew(10deg);
缩放: transform: scale(3.0);
位移: transform: translate(100px, 10px);
至于"拖放"操作,可能得组合mousedown/mousemove/mouseup事件,可以看这里.

$(document).ready(function() {
    drag('#drag, #drag2, #drag3')
});

function drag(el) {
    $(el).each(function(){
        var position = $(this).position();
        var ptop = position.top;
        var pleft = position.left;
        var down = false;
        $(this).mousedown(function(event) {
            down = true;
            $(this).css({
                cursor: 'crosshair',
            });
            $(this).mousemove(function(event) {
                if (down == true) {
                    $(this).css({
                        cursor: 'crosshair',
                    });
                    var w = $(this).width();
                    var h = $(this).height();
                    var left3 = (w / 2) + 7;
                    var top3 = (h / 2) + 7;
                    $(this).css({
                        cursor: 'crosshair',
                        left: (event.clientX) + (3 * 3) - left3,
                        top: (event.clientY) + (3 * 3) - top3
                    });
                }
            }).mouseup(function() {
                down = false;
                $(this).css({
                    cursor: 'default',
                });
                $(this).animate({
                    top: ptop,
                    left: pleft
                }, 300);
            });
        });
    });
}
阿神

http://blog.csdn.net/aigochin...

大家讲道理

这个我记得有jq插件的

黄舟
window.onload = function() {
                var p = document.getElementById('box'),
                    centerX = p.clientWidth / 2,
                    centerY = p.clientHeight / 2,
                    left = p.offsetLeft,
                    top = p.offsetTop;

                p.addEventListener("mousemove", function(event) {
                    var pageX = event.pageX,
                        pageY = event.pageY;

                    var dy = pageY - (top + centerY),
                        dx = pageX - (left + centerX);

                    
                    var angle=180/Math.PI*Math.atan2(dy,dx);
                    
                    
                    document.getElementById('img').style.transform="rotate("+angle+"deg)";
                }, false)
            }
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号