js实现3D拖动相册

所属分类:输入,媒体-拖和放,图片展示

 45535  617  查看评论 (105)
分享到微信朋友圈
X
js实现3D拖动相册 ie兼容12

简单方便,解压打开即可。

js实现3D拖动相册,照片出现动画,照片拖动动画,照片底部投影更显3D效果。

总共一百来行代码,文件注释完善,修改简单。

#wrap {
	width:120px;
	/*133:200  4:6  */
				height:180px;
	margin:0 auto;
	position:relative;
	/*搭建3D效果必须的两个属性:一个变换风格变3d,一个场景景深800px*/
				transform-style:preserve-3d;
	transform:rotateX(-10deg) rotateY(0deg);
}
#wrap img {
	width:100%;
	height:100%;
	position:absolute;
	border-radius:1px;
	transform:rotateY(0deg) translateZ(0px);
	/*倒影:朝向 偏移 遮盖*//*线性渐变(从哪里开始,开始时候的颜色,结束时候的颜色)*/
				-webkit-box-reflect:below 5px -webkit-linear-gradient(top,rgba(0,0,0,0) 40%,rgba(0,0,0,0.5) 100%);
}
#wrap p {
	width:1200px;
	height:1200px;
	background:-webkit-radial-gradient(center center,600px 600px,rgba(244,23,234,0.2),rgba(0,0,0,0));
	border-radius:100%;
	position:absolute;
	left:50%;
	top:102%;
	margin-left:-600px;
	margin-top:-600px;
	transform:rotateX(90deg);
}
// 拖拽:三个事件-按下 移动 抬起
//按下
document.onmousedown = function(ev) {
        ev = ev || window.event;
        //鼠标按下的时候,给前一点坐标赋值,为了避免第一次相减的时候出错
        lastX = ev.clientX;
        lastY = ev.clientY;
        //移动
        this.onmousemove = function(ev) {
            ev = ev || window.event;
            clearInterval(timer);
            nowX = ev.clientX; // clientX 鼠标距离页面左边的距离
            nowY = ev.clientY; // clientY ………………………………顶部………………
            //当前坐标和前一点坐标差值
            minusX = nowX - lastX;
            minusY = nowY - lastY;
            //更新wrap的旋转角度,拖拽越快-> minus变化大 -> roY变化大 -> 旋转快
            roY += minusX * 0.2; // roY = roY + minusX*0.2;
            roX -= minusY * 0.1;
            oWrap.style.transform = 'rotateX(' + roX + 'deg) rotateY(' + roY + 'deg)';
            /*
            //生成div,让div跟着鼠标动
            var oDiv = document.createElement('div');
            oDiv.style.cssText = 'width:5px;height:5px;background:red;position:fixed;left:'+nowX+'px;top:'+nowY+'px';
            this.body.appendChild(oDiv);
            */
            //前一点的坐标
            lastX = nowX;
            lastY = nowY;
        }
相关插件-拖和放,图片展示

基于H5的拖拽功能

基于H5的拖拽功能,再用jQuery进行了功能完善,拖动后根据放置的位置来布局。
  拖和放
 42152  359

可拖拽图片文本框(类似QQ发送消息框)

支持拖拽图片,并且将图片转换为base64,兼容IE8以上所有浏览器
  拖和放
 29648  304

页面多板块拖动,调整边缘,吸附效果(原创)

接到一个需求:楼宇房间的简单布局:点击左侧房屋号码,到右面出现以后可以各种调整。
  拖和放
 30390  358

图标拖拽效果,兼容所有浏览器

原生JS实现图标图片拖拽,封装好了,可以直接拿去使用
  拖和放
 37693  373

讨论这个项目(105)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

    岁月静好 0
    2023/5/25 12:39:22
    💖666666666666太厉害了 回复
    Better In Time 0
    2022/8/19 15:56:16
    bpk211013 0
    2022/8/4 14:13:59
    啊啊,好看好看呐 回复
    lin527100 0
    2022/5/9 13:54:16
    期待插件的效果+1 回复
    嘿嘿 0
    2022/4/19 22:52:14
    There there 0
    2020/9/17 22:45:15
    哇超级棒
        pepsi300
        2020/11/2 18:02:07
        nice💖
    回复
    '?' 0
    2020/9/16 16:03:17
    太好看了吧
        ??0
        2022/4/25 14:20:12
        nice💖
    回复
    shinobu 0
    2020/8/12 16:16:37
    *蓝色之恋~~* 0
    2020/7/24 9:19:12
    你好,怎么适用触摸屏或者移动端呢亲
    回复
    涛声依旧 0
    2020/3/8 10:22:58
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复