照片墙

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>

    <style>
        *{
            margin: 0;
            padding: 0;
        }
        img{
            cursor: pointer;
        }

        .container{
            width: 90%;
            height: 600px;
            margin: 0px auto;
            background-color: lightgray;
            position: relative;
        }

        .border{
            border: 3px solid green;
        }
    </style>

    <script>
        //先为Image扩充方法
        Image.prototype.initParam=function(){
            this.style.position="absolute";
            this.style.top="0px";
            this.style.left="0px";
        }

        //记录下当前最大的z-index索引值
        var maxZIndex=1;
        var container;

        window.onload=function(){
            container=document.getElementById("container");
            for(var i=1;i<=6;i++){
                var div=document.createElement("span");
                container.appendChild(div);
                div.style.display="inline-block";
                div.style.backgroundImage="url('images1/0"+i+".jpg')";
                div.style.width=200+"px";
                div.style.height=300+"px";
                div.style.backgroundSize="cover";
                div.style.position="absolute";
                div.style.top="0px";
                div.style.left="0px";
                div.angle=0;
                div.οnclick=clickAction;
                //给元素设置拖动事件
                div.οnmοusedοwn=function(e){
                    var x= e.offsetX;
                    var y= e.offsetY;
                    container.onmousemove=function(ef){
                        e.target.style.left= (ef.clientX- x)+"px";
                        e.target.style.top=( ef.clientY-y)+"px";
                    }
                    container.onmouseup=function(ev){
                        this.onmousemove=null;
                        this.onmouseup=null;
                    }
                }



            }
            container.lastElementChild.className="border";

            //2 增加键盘事件
            window.addEventListener("keydown",rotate,true);

        }


        /***
         * 点击图标
         */
        function clickAction(e){

            //0 改变当前选中的图片的优先级
            var div= e.target;
            div.style.zIndex=maxZIndex++;
            //1 清空所有的边框
            clearAllBorder();
            //2 为当前选中的增加边框
            div.className="border";
        }


        //清空所有的边框样式
        function clearAllBorder(){
            var divs=document.getElementsByTagName("span");
            for(var i=0;i<divs.length;i++){
                divs[i].className="";
            }
        }

         /**
         * 键盘按下
         */
        function rotate(e){

            //获取需要旋转的图片
            var div=document.getElementsByClassName("border")[0];
            //获取本身的角度
            var angle=div.angle;

            if(e.keyCode==37){
                //逆时针
                angle-=5;
            }else if(e.keyCode==39){
                //顺时针
                angle+=5;
            }else{
                return;
            }
            div.style.transform="rotate("+angle+"deg)";
            div.angle=angle;
        }




    </script>
</head>
<body>

<div class="container" id="container"></div>


</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值