博客列表 >0918作业:jQuery基本操作

0918作业:jQuery基本操作

Samoye
Samoye原创
2018年09月30日 10:20:44615浏览

作业:实现一个相册的添加,移动和删除功能

实例

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>纪念相册</title>
    <script src="../lib/jquery.js"></script>
    <style>
        .warp{
            width:400px;
            height: auto;
            background-color: #777777;
            border: 3px double lawngreen;
            color: #2aabd2; /*字体颜色*/
            border-radius:3%;
            margin:auto;
        }
        .header{
            padding: 18px;
        }
        .warp .header h2 {
            text-align: center;
            margin-bottom: 30px;
        }
        .add{
            width: 100px;
            height: 30px;
            border: none;
            cursor: pointer;/*添加个手*/
            background-color: greenyellow;
            color: white;/*俗话说的前景色*/
        }
        .add:hover{
            background-color: black;
            font-size: 1.2rem;
        }
        .main{
            overflow: hidden;
            /*包裹子元素*/
        }
        .main ul{
            padding: 0;
            margin: 0;
        }
        .main ul li {
            list-style-type: none;/*清除list的默认样式*/
            float: left;
            margin-left: 20px;
            margin-bottom:15px;
            width: 150px;
            height: 200px;
            text-align: center;
        }
        .main ul li button {
            margin: 3px;
            border: none;
            border-radius: 5%;
            background-color: #4cae4c;
            box-shadow: #2aabd2;
        }
        .main ul li button:hover{
            background-color: lawngreen;
            color: white;
            cursor: pointer;
        }
    </style>
</head>
<body>
    <div class="warp">
        <div class="header">
            <h2>个人摄影展</h2>
            <p>
                <label for="img_url">输入图片地址</label>
               <!-- <input type="text" name="img_url" id="img_url" placeholder="图片地址">-->
                <input type="file" name="img_url" id="img_url" placeholder="图片地址">
            </p>
            <p>
                图片形状:
                <input type="radio" id="rect" name="border" value="0"> <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>
                是否添加阴影:
                <select name="shadow" id="">
                    <option value="0">不添加</option>
                    <option value="1">添加</option>
                </select>
            </p>
            <p>
                <button class="add">添加图片</button>
            </p>
        </div>
        <!--图片展示区域-->
        <div class="main">
            <ul>

            </ul>
        </div>
    </div>
    <script>
        $(function () {
            $('button.add').on('click',function () {
                //1.拿到用户的图片

                //判断用户是否选择图片
                let img_url = $('#img_url').val();
                if (img_url.length === 0) {
                    alert('请选择一张图片!');
                    $(img_url).focus();
                    return false;
                }

                //2.如果用户添加了图片
                /*获取图片的边框*/
                let img_type = $(':radio:checked').val();
                let shadow = 'none' //默认不添加阴影
                if ( $(':selected').val() === "1"){ //被选中的
                    shadow = '2px 2px 2px #888';
                }


                /*console.log('http://js.net/0918/img/'+img_url.split('\\')[2]);*/
                img_url = 'http://js.net/0918/img/'+img_url.split('\\')[2];//将地址分割成对象集,取的文件名部分

                //3.创建图片元素,并添加
                let img = $('<img>').prop('src',img_url).width(150).height(150).css({
                    'border-radius':img_type,'box-shadow':shadow
                });
                let before = $('<button></button>').text('前移');
                let after = $('<button></button>').text('后移');
                let remove = $('<button></button>').text('删除');

                let contaier = $('<li>');
                //将图片和按钮添加到li中
                contaier.append(img,before,after,remove);
                contaier.appendTo('ul');//添加到ul中
                //为li下的button添加事件
                //前移事前
                before.click(function () {
                    let current = $(this).parent();//当前button的父元素是li,移动li就等于整体移动了图片
                    let prev = current.prev();//获取li的前一个元素,也就是另一个li (li里包含了一张图片)
                    prev.before(current); //在当前元素的前元素插入当天元素及实现了前移
                });
                //后移事件
                after.click(function () {
                    let current = $(this).parent();//获取img和li的父元素 li
                    let next = current.next();
                    next.after(current);
                });

                //删除事件

                remove.click(function () {
                    if(confirm('真的要删除吗?')){
                        $(this).parent().remove();//删除一个li
                    }
                    return false;
                })
            })

        })
    </script>

</body>
</html>

运行实例 »

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

本地效果截图:

相册.png


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