VUE实现微博发布效果

<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8">
  <title>微博发布效果</title>
  <style>
    body,
    ul,
    p {
      margin: 0;
      padding: 0;
    }

    .weibo {
      width: 600px;
      border: 1px solid #ccc;
      margin: 100px auto;
      padding: 10px;
    }

    .weibo-text {
      width: 590px;
      height: 140px;
      padding: 5px;
      border: 1px solid #ccc;
      outline: none;
      resize: none;
    }

    .weibo-text:focus {
      border-color: #f60;
    }

    .weibo-btn {
      width: 80px;
      height: 30px;
      background-color: #f90;
      color: #fff;
      border: 0 none;
      margin-top: 5px;
      border-radius: 3px;
      cursor: pointer;
      outline: 0 none;
    }

    .weibo-list {
      padding-top: 10px;
      list-style: none;
    }

    .weibo-list li {
      font-size: 14px;
      line-height: 30px;
      border-bottom: 1px dotted #ccc;
      overflow: hidden;
    }

    .weibo-list li p {
      float: left;
    }

    .weibo-list li span {
      float: right;
      cursor: pointer;
    }

    .weibo-list li input {
      height: 24px;
      line-height: 24px;
      width: 300px;
      font-size: 14px;
      border: 0 none;
    }

    .time {
      margin-right: 10px;
      font-style: normal;
      float: right;
    }

    .spans {
      float: right;
      color: #f40;
    }
  </style>
</head>

<body>
  <div id=‘app‘ class="weibo">
    <textarea class="weibo-text" v-model=‘text‘ @keyup.shift.13=‘fabu‘ @input=‘a‘></textarea>
    <input class="weibo-btn" value="发布" type="button" @click="fabu"><span class="spans">{{ len }}/100</span>
    <ul class="weibo-list">
      <!-- v-for 可以遍历数组 获取值 和索引 -->
      <li v-for=‘(item,index)  in xhs‘>
        <p class="a" class="content">{{item}}</p>
        <span class="time"></span>
        <!-- 点击删除的时候传一个数组的索引 -->
        <span class="del" @click=‘del(index)‘>删除</span>
      </li>
    </ul>
  </div>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
  new Vue({
    el: ‘#app‘,
    data: {
      // 留言的内容
      xhs: [],
      // 输入的内容
      text: ‘‘,
      // 规定输入的长度
      len: ‘100‘,
    },
    methods: {
      // 点击发布
      fabu() {
        // 因为用了v-model 所以可以获取文本域的值

        this.xhs.push(this.text);
        // 发布完之后回到初始值
        this.text = ‘‘;
        this.len = ‘100‘
      },
      // 删除
      del(index) {
        this.xhs.splice(index, 1)

      },
      // 文本域改变事件
      a() {
        this.len = 100 - (this.text.length);
        // 给他一个条件是因为 用户在复制进去的时候可输入的字数会变成负数
        if (this.len < 0) {
          this.len = 0;
        }
        // 输入100个字节的时候就不可以输入了
        this.text = this.text.substr(0, 99)
      }
    }

  })
</script>

</html>

<!-- 有什么bug联系我 谢谢-------- -->

实现简单的vue 发布微博的案例

原文地址:https://www.cnblogs.com/lwa1999/p/11779631.html

时间: 2024-10-09 19:59:12

VUE实现微博发布效果的相关文章

原生JS+tween.js模仿微博发布效果

转载请注明出处:http://www.cnblogs.com/zhangmingze/p/4816865.html 1.先看效果吧,有效果才有动力: 2.html结构: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8" /> 5 <title>模仿微博发布效果</title> 6 <link rel="stylesheet&quo

原生JavaScript 全特效微博发布面板效果实现

javaScript实现微博发布面板效果.采用的js知识有: 正则表达式区分中英文字节.随机数生成等函数 淡入淡出.缓冲运动.闪动等动画函数 onfocus.onblur.oninput.onpropertychange等事件 动态添加元素,获取设置动态属性 基本思路: 当内容为空时,发布按钮为灰色,点击时候文本框会闪动,输入文字会提示还可以输入多少文字,超出会提示,且不能发布,要注意的是,判断文本框内容的长度,不能直接来,因为英文属于一个字节,中文占两个,要用正则处理一下! 获取到所有头像的s

第32天:微博发布动态

微博发布动态 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>微博发布</title> <style> ul{ list-style:none; } *{ margin: 0; padding: 0; } .box{ margin:100px auto; width: 600px; heigh

[js高手之路]设计模式系列课程-委托模式实战微博发布功能

在实际开发中,经常需要为Dom元素绑定事件,如果页面上有4个li元素,点击对应的li,弹出对应的li内容,怎么做呢?是不是很简单? 大多数人的做法都是:获取元素,绑定事件 1 <ul> 2 <li>跟着ghostwu学习javascript设计模式的应用1</li> 3 <li>跟着ghostwu学习javascript设计模式的应用2</li> 4 <li>跟着ghostwu学习javascript设计模式的应用3</li&g

js微博发布框的实现

引用前请标明出处:http://www.cnblogs.com/zkhzz/ 谢谢 观察了微博发布框, 1.发现他的剩余文字是动态改变的, 2.且文字为零时 发布框颜色为暗色 3.文字不符合标准时提交不通过 整理了一下思路 js会主要用到的方法 1.onclick() //点击发布时触发 2.onmouseover()// 鼠标滑到 发布  触发 3.onmouseout() //鼠标离开 发布  时触发 4.onfocus() //点击到 输入框 时触发 5.onblur() //点击到 输入

微博发布代码

<style type="text/css"> *{ padding: 0; margin: 0;} .box{ width: 600px; height: auto; border: 1px solid #333; margin: 100px auto; padding:30px; } textarea{ width: 400px; height: 150px; resize:none; } .box ul{ list-style-type: none; line-hei

学前端开发:js 原生模仿微博发布

初学前端开发,需要掌握的基础项目案例:js 原生模仿微博发布 <!DOCTYPE html> <html> <head> <metacharset="UTF-8"> <title></title> </head> <styletype="text/css"> *{ margin:0; padding:0; list-style:none; font-family:&quo

vue实现选项卡切换效果

效果如下: 说明: 这里我使用的原理是利用vue中的v-show/显示隐藏指令,当为true的时候显示,为false的时候隐藏 1html代码: <head> <meta charset="UTF-8"> <base target="_blank"> <title>vue实现选项卡切换效果</title> <script src="js/jquery-1.8.2.min.js"&g

jq 微博发布评论案例

<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: 8