jQuery 多种高级页面属性和动画效果

完成目标:利用jQuery语法完成多种页面属性和动画效果

1.文字淡入淡出,显示及隐藏。

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="jquery-1.4.2.min.js"></script>
    <script>
        $(function () {
            $('p').click(function () {
                $('p').toggle("slow")
            })
            $('div').click(function () {
                $('p').toggle("slow")
            })
        })

    </script>
</head>
<body>
<p>可隐藏。可显示</p>
<p>可隐藏。可显示</p>
<div>点击</div>
</body>
</html>
效果:


2.点击按钮使文字放大。

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="jquery-1.4.2.min.js"></script>
    <style>
    </style>
    <script>
      $(function () {
          $('#go').click(function () {
              $('#block').animate({
                  width: "90%",
                  height: "100%",
                  fontSize: "10em",
                  borderWidth: 10
              },1000)
          })
      })
    </script>
</head>
<body>
<button id="go"> Run</button>
<div id="block">Hello!</div>
</body>
</html>
效果:


3.图片或文字的左移或右移,并伴随逐渐消失和逐渐显示效果

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="jquery-1.4.2.min.js"></script>
    <style>
        .block{
            background-image: url("../image/1.jpg");
            width: 500px;
            height: 500px;
            position: relative;
        }
    </style>
    <script>
        $(function () {
            $("#right").click(function(){
                $(".block").animate({left: '+150px',height: 'toggle', opacity: 'toggle'}, "slow");
            });

            $("#left").click(function(){
                $(".block").animate({left: '-150px'}, "slow");
                $(".block").animate({
                    height: 'toggle', opacity: 'toggle'
                }, "slow");
            });
        })
    </script>
</head>
<body>
<button id="left">«</button>
<button id="right">»</button>
<div class="block"></div>
</body>
</html>
效果:


4.利用jQuery代码完成对表格的修改、保存和CheckBox的全选功能。

方法1:不适用于大型表格和数据,多用于练习使用。

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="jquery-1.4.2.min.js"></script>
    <script>
        $(function () {
            $('#checkAll').click(function () {
                if(this.checked){
                    $('.check').attr("checked",true);
                }else {
                    $('.check').attr("checked",false);
                }
            })

            $('.change').click(function () {
                var ok=$(this).parents("tr");
                var tdText1=ok.find("td:eq(1)").html();
                var tdText2=ok.find("td:eq(2)").html();
                var tdText3=ok.find("td:eq(3)").html();
                var a=$("<input type='text' id='name'>");
                var b=$("<input type='text' id='sex'>");
                var c=$("<input type='text' id='age'>");
                ok.find("td:eq(1)").html(a);
                ok.find("td:eq(2)").html(b);
                ok.find("td:eq(3)").html(c);
                a.val(tdText1);
                b.val(tdText2);
                c.val(tdText3);
            })
            $('.save').click(function () {
                var ok=$(this).parents("tr");
                var text=document.getElementById("name");
                var text1=document.getElementById("sex");
                var text2=document.getElementById("age");
                ok.find("td:eq(1)").html(text.value);
                ok.find("td:eq(2)").html(text1.value);
                ok.find("td:eq(3)").html(text2.value);
            })
        })
    </script>
</head>
<body>
<table border="1" >
    <tr align="center">
        <td><input type="checkbox" id="checkAll"></td>
        <td width="100px">姓名</td>
        <td width="100px">性别</td>
        <td width="100px">年龄</td>
        <td width="100px">操作</td>
    </tr>
    <tr  align="center">
        <td><input type="checkbox" class="check"></td>
        <td >张三</td>
        <td >男</td>
        <td >18</td>
        <td>
            <input type="button" value="编辑" class="change" style="float: left">
            <input type="button" value="保存" class="save">
        </td>
    </tr>
    <tr  align="center">
        <td><input type="checkbox" class="check"></td>
        <td>李四</td>
        <td >女</td>
        <td>20</td>
        <td>
            <input type="button" value="编辑" class="change" style="float: left">
            <input type="button" value="保存" class="save">
        </td>
    </tr>
    <tr  align="center">
        <td><input type="checkbox" class="check"></td>
        <td>王五</td>
        <td >男</td>
        <td>25</td>
        <td>
            <input type="button" value="编辑" class="change" style="float: left">
            <input type="button" value="保存" class="save">
        </td>
    </tr>
</table>
</body>
</html>
效果:



方法2:可适用于大型表格,也可做开发使用。并增加删除和新增行的功能。

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>可编辑的表格</title>
    <script src="jquery-1.4.2.min.js"></script>
    <style>
        table{
            border: 1px solid black;
            border-collapse: collapse;
            width: 500px;
        }
        table th {
            border: 1px solid black;
            width: 25%;
        }
        table td {
            align-items: center;
            border: 1px solid black;
            width: 25%;
        }
        table th {
            background-color: #A3BAE9;
        }
    </style>
    <script>
        //文档准备就绪
        $(function () {
            //设置 所有 td 居中
            $('table td').attr("align","center");
            //标签+属性选择所有<编辑>按钮
            $('input[value="编辑"]').click(function () {
                //获取每一个<编辑>按钮的 下标(从0开始 所以需要+2 = 按钮在表格的所在行数)
                var numId = $('input[value="编辑"]').index($(this))+2;
                //选择表格中的所有tr 通过eq方法取得当前tr
                var ttr = $('table tr').eq(numId);
                /*当前行使用find方法找到每一个td列
                 each方法为每一个td设置function
                 */
                ttr.find("td").each(function () {
                    /*过滤 td中的元素
                     checkbox 、 button、text 不需要执行append
                     注意 return 为 跳出当前 each
                     return false 为 跳出整个 each
                     */
                    if($(this).children("input[type='checkbox']").length>0){
                        return ;
                    }
                    if($(this).children("input[type='button']").length>0){
                        return ;
                    }
                    if($(this).children("input[type='text']").length>0){
                        return ;
                    }

                    var tdText = $(this).html();
                    $(this).html("");
                    var inputObj = $("<input type='text'>");
                    inputObj.appendTo($(this));
                    inputObj.css("width","95%");
                    inputObj.val(tdText);
                });
            })
            //为每一个确定按钮设置点击事件
            $('input[value="确定"]').click(function () {
                /*通过parents方法获取<确定>按钮的父容器tr
                 再为 tr中的每一个text设置function
                 */
                var ttr=$(this).parents("tr");
                ttr.find('input[type="text"]').each(function () {
                    var inputVal = $(this).val();
                    $(this).parents('td').html(inputVal);
                })
            })
            //全选/反选
            $('#cha').click(function () {
                //判断checkbox是否选中
                if($(this).is(':checked')){
                    $('input[type="checkbox"]').attr("checked","true");
                }else{
                    $('input[type="checkbox"]').removeAttr("checked");
                }
            })
            $('#add').click(function () {
                $('table tr').eq(2).clone(true).appendTo("table");
            })
            $('#del').click(function () {
                $('tr:last').remove();
            })
        })
    </script>
</head>
<body>
<table border="1">
    <thead>
    <tr>
        <th colspan="4">编辑表格</th>
    </tr>
    </thead>

    <tr>
        <th><input type="checkbox" id="cha"></th>
        <th>学号</th>
        <th>姓名</th>
        <th>操作</th>
    </tr>
    <tr>
        <td><input type="checkbox"></td>
        <td>000001</td>
        <td>张三</td>
        <td >
            <input type="button" value="编辑" >
            <input type="button" value="确定" >
        </td>
    </tr>
    <tr>
        <td><input type="checkbox"></td>
        <td>000002</td>
        <td>李四</td>
        <td>
            <input type="button" value="编辑" >
            <input type="button" value="确定" >
        </td>
    </tr>
    <tr>
        <td><input type="checkbox"></td>
        <td>000003</td>
        <td>王五</td>
        <td>
            <input type="button" value="编辑" >
            <input type="button" value="确定" >
        </td>
    </tr>
    <tr>
        <td><input type="checkbox"></td>
        <td>000004</td>
        <td>赵六</td>
        <td>
            <input type="button" value="编辑" >
            <input type="button" value="确定" >
        </td>
    </tr>
    <input type="button" value="新增" id="add">
    <input type="button" value="删除" id="del">
</table>
</body>
</html>
效果:



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值