jQuery的使用 仿写简版 微博发布功能

<!DOCTYPE html>
<html>

<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        * {
            margin: 0;
            padding: 0
        }
        
        ul {
            list-style: none
        }
        
        .box {
            width: 600px;
            margin: 100px auto;
            border: 1px solid #000;
            padding: 20px;
        }
        
        textarea {
            width: 450px;
            height: 160px;
            outline: none;
            resize: none;
        }
        
        ul {
            width: 450px;
            padding-left: 80px;
        }
        
        ul li {
            line-height: 25px;
            border-bottom: 1px dashed #cccccc;
            display: none;
        }
        
        input {
            float: right;
        }
        
        ul li a {
            float: right;
        }
        
    </style>
    <script src="jquery.min.js"></script>
    <script>
        $(function(){
    //   创建元素 添加元素  将文本区域内容拿出来给赋值给li 清空文本区域内容
    //  写法一: 利用父级监听,如果在内部使用this  此时的this是btn元素也就是触发的元素
      $('#weibo').on('click','.btn',function(){
          
          $('ul').append($('<li></li>'));
          $('li').html($('.txt').val()+' <a href="javascript:;">删除</a>').slideDown() ;
      })
    // 写法二: 这里的触发元素直接就是btn按钮, 此时的this 返回值也是btn只不过是写法不同
         $('.btn').on('click',function(){
            $('ul').append($('<li></li>'));
            // 这里的slideDown()是向下滑动
            $('li').html($('.txt').val()+' <a href="javascript:;">删除</a>').slideDown() ;
             
         })


    //   绑定事件在ul上  触发事件a  
    //  这里还用了on()可以给未来动态创建的元素绑定事件的特性
      $('ul').on('click','a',function(){
        //   这里的触发事件是a  此时的this 返回值的a元素
        // 这里的slideUp() 是向上滑动 ,但并非删除元素,内部的回调函数是为了滑动之后删除元素
          $(this).parent().slideUp(function(){
              $(this).remove()
          });
      })
    })
    </script>
</head>

<body>
   
    <div class="box" id="weibo">
        <span>微博发布</span>
        <textarea name="" class="txt" cols="30" rows="10"></textarea>
        <button class="btn">发布</button>
        <ul>
        </ul>
    </div>
</body>

</html>

 

上一篇:HTML+CSS项目练习(9)-菜单栏隐藏


下一篇:JavaScript 事件委托