高级网页设计Class-jQuery练习

todolist(结合bootstrap布局和模态框)

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>todolist</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="css/bootstrap.css">
    <style>
        #todolist .form-control {
            display: inline-block;
            width: 250px;
            margin-right: 6px;
        }

        #todolist li {
            list-style: none;
            margin: 8px;
            border: 1px solid #eee;
            padding: 5px 15px
        }

        .rank {
            width: 20px;
            height: 20px;
            color: #fff;
            background-color: #0F0F0F;
            display: inline-block;
            line-height: 20px;
            text-align: center;
            margin-right: 8px;
            margin-left: 10px;
            border-radius: 50%;
        }

        .name {
            display: inline-block;
            margin-right: 10px;
        }

        .tl-update {
            margin: 0 8px;
        }

        .update {
            display: inline-block;
            visibility: hidden;
        }

        #todolist h2 {
            margin-bottom: 15px;
        }

        .add {
            margin: 40px;
            transition: all 1s;
            padding: 20px;
            box-shadow: 5px 0px 5px #eee, -5px 0 5px #eee,
            0 5px 5px #eee, 0 -5px 5px #eee;
            border: 1px solid #ccc;
            border-radius: 6px;
            background: linear-gradient(#fff, #eee);
        }

        .add .form-control {
            display: inline-block;
            width: 250px;
        }

        .add button {
            margin-left: 10px;
        }
    </style>
</head>
<body>
<div id="todolist" class="col-md-9 col-md-offset-2">
    <h2>todo-list
        <button class="btn btn-group-lg btn-success insert pull-right">新增</button>
    </h2>
    <ul>
        <li data-id="112">
            <span class="rank">1</span>
            <span class="name">名称</span>
            <div class="update">
                <input type="text" class="form-control ">
                <button class="btn btn-info btn-sm save">保存</button>
                <button class="btn btn-info btn-sm cancel">取消</button>
            </div>

            <button class="btn btn-primary  pull-right tl-del">删除</button>
            <button class="btn btn-primary pull-right tl-update">修改</button>
        </li>
        <li data-id="112">
            <span class="rank">2</span>
            <span class="name">名称</span>
            <div class="update">
                <input type="text" class="form-control ">
                <button class="btn btn-info btn-sm save">保存</button>
                <button class="btn btn-info btn-sm cancel">取消</button>
            </div>

            <button class="btn btn-primary  pull-right tl-del">删除</button>
            <button class="btn btn-primary pull-right tl-update">修改</button>
        </li>
        <li data-id="112">
            <span class="rank">3</span>
            <span class="name">名称</span>
            <div class="update">
                <input type="text" class="form-control ">
                <button class="btn btn-info btn-sm save">保存</button>
                <button class="btn btn-info btn-sm cancel">取消</button>
            </div>

            <button class="btn btn-primary  pull-right tl-del">删除</button>
            <button class="btn btn-primary pull-right tl-update">修改</button>
        </li>
        <li data-id="112">
            <span class="rank">4</span>
            <span class="name">名称</span>
            <div class="update">
                <input type="text" class="form-control ">
                <button class="btn btn-info btn-sm save">保存</button>
                <button class="btn btn-info btn-sm cancel">取消</button>
            </div>

            <button class="btn btn-primary  pull-right tl-del">删除</button>
            <button class="btn btn-primary pull-right tl-update">修改</button>
        </li>

    </ul>
    <div class="add">
        <span>请输入您要添加的内容:</span>
        <input type="text" class="form-control">
        <button class="btn btn-primary pull-right">取消</button>
        <button class="btn btn-primary pull-right">增加</button>

    </div>
</div>


<!-- 模态框(Modal) -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title" id="myModalLabel">你确认要删除吗</h4>
            </div>
            <div class="modal-body">删除了的话他就永远消失了的!!</div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
                <button type="button" class="btn btn-primary delelte">确认删除</button>
            </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal -->
</div>
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script>
    $(function () {
        var index;//暂存要删除的行的序号,全局变量

        //点击修改按钮之后,显示修改的内容,在其中点击保存,可以保存修改,点击取消,可以取消修改。
        //复杂的修改使用model模态框实现,实现方法同修改按钮。
        //on,可以给javascript动态添加的html元素增加事件,如果用click增加事件,只能给网页中已有的html元素增加。

    

        $("#todolist button:last").click(function(){
            var text=$("#todolist input:last").val();//获得输入值
            var N=$("#todolist ul>li").length+1;//;//序号
            if(text!=""){
                var row=`
            <li data-id="112">
             <span class="rank">${N}</span>
             <span class="name">${text}</span>
             <div class="update">
             	<input type="text" class="form-control ">
             	<button class="btn btn-info btn-sm save">保存</NOtton>
             	<button class="btn btn-info btn-sm cancel">取消</NOtton>
             </div>

             <button class="btn btn-primary  pull-right tl-del">删除</NOtton>
             <button class="btn btn-primary pull-right tl-update">修改</NOtton>
       	  </li>
            `;
                $("#todolist ul").append(row);
                $("#todolist input:last").val("").focus();

                $("#todolist ul li:last .tl-update").on("click",function () {
                    $(this).prev().prev().css("visibility","visible").prev().hide();

                });

                // 删除
                // on动态添加事件
                $("#todolist .tl-del:last").on("click",function () {
                    index = $("#todolist .tl-del").index(this);//记录点击序号
                    // 打开模态框
                    $("#myModal").modal();

                });
            }
        });

        
        // update默认的增加
        // $().on("click",function () {
        $("#todolist li .tl-update").on("click",function(){
            $(this).prev().prev().css("visibility","visible").prev().hide();
            // $(this).siblings(".update").css("visibility",visible).prev().hide();

        });
        // // })

        // 删除
        // on动态添加事件
        $("#todolist .tl-del").on("click",function () {
            index = $("#todolist .tl-del").index(this);//记录点击序号
            // 打开模态框
            $("#myModal").modal();

        });
        // 模态框上的delete确认删除
        $("#myModal .delelte").click(function () {
            $("#todolist li").eq(index).remove();
            $("#myModal").modal("hide");

            paixu();//执行排序 序号
        });
        // 删除之后的排序 序号需要修改
        function paixu() {
            // var n =$("#todolist li").length;
            var xuhao=1;
            $("#todolist li").each(function (i,el) {//循环li(jQuery特有 for)

                $(this).children(".rank").text(xuhao++);
                console.log(xuhao);
            })
        }
    })


</script>
</body>
</html>

在这里插入图片描述

todolist(2)

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>todolist</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="css/bootstrap.css">
    <style>
        #todolist .form-control {
            display: inline-block;
            width: 250px;
            margin-right: 6px;
        }

        #todolist li {
            list-style: none;
            margin: 8px;
            border: 1px solid #eee;
            padding: 5px 15px
        }

        .rank {
            width: 20px;
            height: 20px;
            color: #fff;
            background-color: #0F0F0F;
            display: inline-block;
            line-height: 20px;
            text-align: center;
            margin-right: 8px;
            margin-left: 10px;
            border-radius: 50%;
        }

        .name {
            display: inline-block;
            margin-right: 10px;
        }

        .tl-update {
            margin: 0 8px;
        }

        .update {
            display: inline-block;
            visibility: hidden;
        }

        #todolist h2 {
            margin-bottom: 15px;
        }

        .add {
            margin: 40px;
            transition: all 1s;
            padding: 20px;
            box-shadow: 5px 0px 5px #eee, -5px 0 5px #eee,
            0 5px 5px #eee, 0 -5px 5px #eee;
            border: 1px solid #ccc;
            border-radius: 6px;
            background: linear-gradient(#fff, #eee);
        }

        .add .form-control {
            display: inline-block;
            width: 250px;
        }

        .add button {
            margin-left: 10px;
        }
    </style>
</head>

<body>
<div id="todolist" class="col-md-9 col-md-offset-2">
    <h2>todo-list
        <button class="btn btn-group-lg btn-success insert pull-right">新增</button>
    </h2>
    <ul>
        <li data-id="112">
            <span class="rank">1</span>
            <span class="name">名称</span>
            <div class="update">
                <input type="text" class="form-control ">
                <button class="btn btn-info btn-sm save">保存</button>
                <button class="btn btn-info btn-sm cancel">取消</button>
            </div>

            <button class="btn btn-primary  pull-right tl-del">删除</button>
            <button class="btn btn-primary pull-right tl-update">修改</button>
        </li>
        <li data-id="112">
            <span class="rank">2</span>
            <span class="name">名称</span>
            <div class="update">
                <input type="text" class="form-control ">
                <button class="btn btn-info btn-sm save">保存</button>
                <button class="btn btn-info btn-sm cancel">取消</button>
            </div>

            <button class="btn btn-primary  pull-right tl-del">删除</button>
            <button class="btn btn-primary pull-right tl-update">修改</button>
        </li>
        <li data-id="112">
            <span class="rank">3</span>
            <span class="name">名称</span>
            <div class="update">
                <input type="text" class="form-control ">
                <button class="btn btn-info btn-sm save">保存</button>
                <button class="btn btn-info btn-sm cancel">取消</button>
            </div>

            <button class="btn btn-primary  pull-right tl-del">删除</button>
            <button class="btn btn-primary pull-right tl-update">修改</button>
        </li>
        <li data-id="112">
            <span class="rank">4</span>
            <span class="name">名称</span>
            <div class="update">
                <input type="text" class="form-control ">
                <button class="btn btn-info btn-sm save">保存</button>
                <button class="btn btn-info btn-sm cancel">取消</button>
            </div>

            <button class="btn btn-primary  pull-right tl-del">删除</button>
            <button class="btn btn-primary pull-right tl-update">修改</button>
        </li>

    </ul>
    <div class="add">
        <span>请输入您要添加的内容:</span>
        <input type="text" class="form-control">
        <button class="btn btn-primary pull-right">取消</button>
        <button class="btn btn-primary pull-right">增加</button>

    </div>
</div>


<!-- 模态框(Modal) -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title" id="myModalLabel">你确认要删除吗</h4>
            </div>
            <div class="modal-body">删除了的话他就永远消失了的!!</div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
                <button type="button" class="btn btn-primary delelte">确认删除</button>
            </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal -->
</div>
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script>
    $(function () {
        var index; //暂存要删除的行的序号,全局变量

        //点击修改按钮之后,显示修改的内容,在其中点击保存,可以保存修改,点击取消,可以取消修改。
        //复杂的修改使用model模态框实现,实现方法同修改按钮。
        //on,可以给javascript动态添加的html元素增加事件,如果用click增加事件,只能给网页中已有的html元素增加。
        $("#todolist button:last").click(function () {
            var text = $("#todolist input:last").val();
            var N = $("#todolist ul>li").length + 1;
            if (text != "") {
                var row =
                    `
			     <li data-id="112">
             <span class="rank">${N}</span>
             <span class="name">${text}</span>
             <div class="update">
             	<input type="text" class="form-control ">
             	<button class="btn btn-info btn-sm save">保存</button>
             	<button class="btn btn-info btn-sm cancel">取消</button>
             </div>
             
             <button class="btn btn-primary  pull-right tl-del">删除</button>
             <button class="btn btn-primary pull-right tl-update">修改</button>      	  	 
					 </li>	
					 `;
                $("#todolist ul").append(row);
                $("#todolist input:last").val("").focus();
                $("#todolist ul li:last .tl-update").on("click", update);
                $("#todolist ul li:last .save").on("click", edit);
                $("#todolist ul li:last .cancel").on("click", cancel);

                $("#todolist ul li:last .tl-del").on("click", function () {
                    index = $("#todolist .tl-del").index(this);
                    $("#myModal").modal();
                });
            }

        }); // end of add

        //start of update
        //on  动态增加添加点击事件
        $("#todolist li .tl-update").on("click", update);

        $("#todolist ul li .tl-del").on("click", function () {
            index = $("#todolist .tl-del").index(this);
            $("#myModal").modal();
        });

        $("#myModal .delelte").on("click", del);

        $(".save").on("click", edit);

        $(".cancel").on("click", cancel);

        $(".add button:first").on("click", cancel);

        $("#todolist button:first").click(function () {
            $("#todolist button:last").click();

        })

        function update() {
            $(this).prev().prev().css("visibility", "visible").prev().hide();
        }

        function del() {


            $("#todolist li").eq(index).remove();
            $("#myModal").modal("hide");
            //sort
            var n = 1;
            $("#todolist li").each(function () {
                $(this).children(".rank").text(n++);
            })
        }

        function edit() {
            $(this).parent().prev().text($(this).prev().val());
            $(this).prev().val(null).focus();
            $(this).parent().css("visibility", "hidden").prev().show();
        }

        function cancel() {
            $(this).parent().children("input").val(null).focus();
        }

    })
</script>
</body>

</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值