博客列表 >0521-jq制作相册

0521-jq制作相册

我的博客
我的博客原创
2019年05月22日 14:33:23694浏览

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>作业相册</title>
    <style>
        .warp {
            width: 360px;
            height: auto;
            background-color: linen;
            border: 3px double grey;
            color: #363636;
            border-radius: 2%;
            box-shadow: 2px 2px 2px #888;
        }
        .warp .header {
            padding: 15px;
        }
        .warp .header h2 {
            text-align: center;
        }
        .add {
            width: 100px;
            height: 30px;
            border: none;
            cursor: pointer;
            background-color: deepskyblue;
            color: white;
        }
        .add:hover {
            background-color: orange;
            font-size: 1.1rem;
        }
        .main {
            overflow: hidden;
        }

        .main ul {
            padding: 0;
            margin: 0;
        }

        .main ul li {
            list-style-type: none;
            float: left;
            margin-left: 20px;
            margin-bottom: 10px;
            width: 150px;
            height: 200px;
            text-align: center;
        }

        .main ul li button {
            margin: 3px;
            border: none;
            border-radius: 5%;
            background-color: deepskyblue;
        }
        .main ul li button:hover {
            background-color: orange;
            color: white;
            cursor: pointer;
        }

    </style>


</head>
<body>
<div class="warp">
    <div class="header">
        <h2>私人相册</h2>
        <p>
            <label for="img_url">输入图片地址</label>
            <input type="file" name="img_url" id="img_url" placeholder="图片地址">
        </p>
        <p>
            图片类型:
            <input type="radio" id="rect" name="border" value="0" checked><label for="rect">直角</label>
            <input type="radio" id="radius" name="border" value="10%"><label for="radius">圆角</label>
            <input type="radio" id="circle" name="border" value="50%"><label for="circle">圆形</label>
        </p>
        <p>
            <label for="shadow">是否添加阴影:</label>
            <select name="shadow" id="shadow">
                <option value="false" selected>不添加</option>
                <option value="true">添加</option>
            </select>
        </p>
        <p><button class="add">添加图片</button></p>
    </div>
    <div class="main">
        <ul>
<!--                        <li>-->
<!--                            <img src="http://qq.io/js/0521/static/images/2.jpg" alt="" width="150">-->
<!--                            <button>前移</button>-->
<!--                            <button>后移</button>-->
<!--                            <button>删除</button>-->
<!--                        </li>-->
        </ul>
    </div>
</div>

<script src="static/js/jquery-3.4.1.js"></script>
<script>
    $(function () {
//1、先给按钮添加事件
        $('.add').on('click',function () {
            // var img_url=$('#img_url').val();  //这里获取了ID的值,后边就用img_url ,注销后直接用值
            //非空验证
            if($('#img_url').val().length===0){
                // confirm("请选择一张图片");
                alert('请选择一张图片');
                return false;  //返回假
            }


//2、制作样式
            //添加图片类型:直角、圆角、圆形
           var img_radio =  $('input[type="radio"]:checked').val();

           //是否添加阴影
            if ($(':selected').val() === 'true') {   //注意 ===后边的val值是字符串必须加'',如果是0和1代表也是字符串要加引号。
               var shadow = '10px 10px 10px #888';
            }else{shadow = 'none'}



//3、创建图片,并给图片附上以上样式

            //由于获取到的img_url地址是假地址,因此需要将他换成绝对地址,真实地址是:qq.io/js/0521/static/images/...
          //用数组分割方法 split(),根据\来分割,由于\是转义字符,所以用 ‘\\’来转换。
            console.log($('#img_url').val());  //前边已经转换var img_url=$('#img_url').val(); 109行
            var img_u = $('#img_url').val().split('\\')[2];
            console.log(img_u);
            img_url = 'http://qq.io/js/0521/static/images/'+ img_u;
            console.log(img_url);

         // 创建一个图片标签,用对象的方式给他们赋值

           var img = $('<img>')
                .attr({
                    src:img_url,
                    width:150,
                    height:150
                })
                .css({
                    //这里放圆角、阴影CSS
                    'border-radius':img_radio,
                    'box-shadow': shadow         //非法键名用 ''括起来

                });


//4、创建三个按钮
         //  三个按钮:前移(before)、后移(after)、删除(remove)

            var before = $('<button>').text('前移');
            var after = $('<button>').text('后移');
            var remove = $('<button>').text('删除');


//5、把图片和三个按钮放到同一个<li>标签下,并追加给 <ul>标签。
            //前移,先拿到需要移动图片的前一个图片,然后在他前边插入自己。按钮的前面什么都没有,所以必须先把他和图片放在同一个节点<li>下
            var li = $('<li>');
            li.append(img,before,after,remove).appendTo('ul');

//6、必须最后来做,给三个按钮添加事件 (涉及父标签的移动和删除,所以最后来做)

            before.on('click',function () {
                 //先获取他的父节点
                var fu = $(this).parent();
                var li = fu.prev();
                li.before(fu);
            });

            after.on('click',function () {
                var fu = $(this).parent();  //按钮的父节点为 <li>
                var li =fu.next();          //父节点的下一个节点 <li>
                li.after(fu);               //在下一个li之后插入fu
            });

            remove.on('click',function () {
                var fu = $(this).parent();  //按钮的父节点为 <li>
                fu.remove();
            })


        });



    })


</script>



</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议