js仿微博动态栏功能


Posted in Javascript onFebruary 22, 2017

知识有限,目前只写了发布动态的功能,没有写兼容,后面再慢慢完善。嘿嘿

效果图:

js仿微博动态栏功能

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>微博</title>
 <style>
  body, p, img, ul, li { margin: 0; padding: 0; }
  body { background-image: url("http://cdn.attach.qdfuns.com/notes/pics/201612/07/212742f92tpe2wve095ttp.jpg");}
  li { list-style: none; }
  .box {
   padding-top: 20px;
   margin: 20px auto;
   width: 620px;
   height: 180px;
   position: relative;
   background-color: #ffffff;
   text-align: center;
  }
  .box label {
   font: 18px/18px "微软雅黑";
   color: #cccccc;
   position: absolute;
   top: 60px;
   left: 40px;
   cursor: text;
  }
  .H {
   float: left;
   padding: 5px 0 5px 10px;
   color: #426B80;
   font: 400 16px/16px "宋体";
  }
  textarea {
   padding: 5px;
   border-color: #CCCCCC;
   width: 580px;
   height: 80px;
   resize: none;
   outline:none;
   font: 400 18px "微软雅黑";
   color: #333333;
  }
  #button {
   width: 80px;
   height: 34px;
   display: block;
   background-color: #FFC09F;
   position: absolute;
   top: 148px;
   right: 14px;
   text-align: center;
   line-height: 34px;
   color: #ffffff;
   cursor: pointer;
   /*F7671D*/
  }
  .dynamic {
   text-align: left;
   padding: 10px 10px;
   width: 580px;
   height: 100%;
  }
  .user {
   position: relative;
  }
  .user img {
   border: solid 1px #CCCCCC;
   vertical-align: top;
  }
  .user .name {
   display: block;
   position: absolute;
   top: 8px;
   left: 60px;
   font: 600 18px/18px "微软雅黑";
  }
  .time{
   display: block;
   position: absolute;
   top: 55px;
   left: 80px;
   font: 500 10px/10px "微软雅黑";
  }
  .dynamic .user {
   margin: 10px 5px 0 10px;
  }
  .dynamic .list {
   font: 500 16px/16px "微软雅黑";
   padding-left: 70px;
  }
 </style>
 <script>
  window.onload = function () {
   //获取当前时间函数
   function time() {
    var maydate = new Date();
    var Time = maydate.getFullYear() + "-" + (maydate.getMonth()+1) +"-"+maydate.getDate()+" "+maydate.getHours()+":"+maydate.getMinutes();
    return Time;
   }
   //获取ID函数
   function $(id) {return document.getElementById(id);}
   //创建节点函数
   function nweChild(id,text) {
    //获得节点ID
    var parent = $(id);
    //获得body所有的孩子
    var child = parent.parentNode.children;
    //克隆当前节点和其所有子节点
    var newNode = parent.cloneNode(true);
    //给当前节点的父节点插入克隆的节点
    parent.parentNode.insertBefore(newNode,child[1]);
    //插入的克隆节点更换ID
    child[1].id = id + (child.length - 2);
    //改变时间
    //获取当前id节点的所有孩子
    var idChild = child[1].children;
    idChild[0].innerHTML = time();
    idChild[2].innerHTML = $("text").value;
   }
   //获得焦点改变边框颜色和恢复默认字体颜色
   $("text").onfocus = function () {
    this.style.borderColor = "#FA7D3C";
    this.style.color = "#333333";
   }
   //失去焦点恢复默然边框颜色,改变字体颜色
   $("text").onblur = function () {
    this.style.borderColor = "#CCCCCC";
    this.style.color = "#CCCCCC";
   }
   //监听输入事件
   $("text").oninput = function () {
    if($("text").value != ""){
     //隐藏提示文本
     $("txt").style.display = "none";
     //文本域不为空 按钮可点击
     $("button").style.backgroundColor = "#FF8140";
    }else{
     //显示提示文本
     $("txt").style.display = "block";
     //文本域为空 按钮不可点击
     $("button").style.backgroundColor = "#FFC09F";
    }
   }
   //按钮事件
   $("button").onmousemove = function () {
    //当文本域不为空执行下面按钮事件
    if($("text").value != ""){
     $("button").onmouseout= function () {
      //如果不为空 按钮为亮色
      if($("text").value != ""){
this.style.backgroundColor = "#FF8140";
      }else {
       //恢复按钮为不可点击颜色
       $("button").style.backgroundColor = "#FFC09F";
      }
     }
     //按钮为高亮
     this.style.backgroundColor = "#F7671D";
     //调用节点函数,并把传递当前文本内容
     $("button").onclick = function () {
      if($("text").value != ""){
       nweChild("order",$("text").value);
      }
      //清空当前文本
      $("text").value = "";
      //恢复按钮为不可点击颜色
$("button").style.backgroundColor = "#FFC09F";
      //更改提示文本内容
      $("txt").innerHTML = "你看,没骗你吧!"
      //显示提示文本
      $("txt").style.display = "block";
     }
    }
   }
  }
 </script>
</head>
<body>
 <div class="box">
  <span class="H">有什么新鲜事想告诉大家?</span>
  <textarea name="text" id="text"></textarea>
  <label for="text" id="txt">输入一段话,点发布会有惊喜哦!</label>
  <span id="button">发布</span>
 </div>
 <div class="box dynamic" id="order">
  <span class="time">2016-12-07 21:20</span>
  <div class="user">
   <img src="http://cdn.attach.qdfuns.com/notes/pics/201612/07/212742m96ugh87fzxhuuxp.jpg" width=50; alt="头像">
   <span class="name">漫步未来</span>
  </div>
  <ul class="list">
   <li>未来的你,一定会感谢现在拼命的自己。</li>
  </ul>
 </div>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
javascript prototype,executing,context,closure
Dec 24 Javascript
用javascript为页面添加天气显示实现思路及代码
Dec 02 Javascript
浅谈node.js中async异步编程
Oct 22 Javascript
以Python代码实例展示kNN算法的实际运用
Oct 26 Javascript
jQuery实现的简单提示信息插件
Dec 08 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
Nov 21 Javascript
微信小程序实战之自定义toast(6)
Apr 18 Javascript
pm2 部署 node的三种方法示例
Oct 20 Javascript
写给小白看的JavaScript异步
Nov 29 Javascript
Electron-vue脚手架改造vue项目的方法
Oct 22 Javascript
vue自定义指令directive的使用方法
Apr 07 Javascript
vue实现Toast组件轻提示
Apr 10 Vue.js
Vue.js:使用Vue-Router 2实现路由功能介绍
Feb 22 #Javascript
svg动画之动态描边效果
Feb 22 #Javascript
jQuery实现的简单拖动层示例
Feb 22 #Javascript
Bootstrap 3 进度条的实现
Feb 22 #Javascript
easy ui datagrid 从编辑框中获取值的方法
Feb 22 #Javascript
canvas 绘制圆形时钟
Feb 22 #Javascript
jquery实现数字输入框
Feb 22 #Javascript
You might like
咖啡磨器 如何选购一台适合家用的意式磨豆机
2021/03/05 新手入门
既简单又安全的PHP验证码 附调用方法
2016/06/02 PHP
IE浏览器兼容Firefox的JS脚本的代码
2008/10/23 Javascript
Textarea根据内容自适应高度
2013/10/28 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
BootStrap 实现各种样式的进度条效果
2016/12/07 Javascript
BootStrop前端框架入门教程详解
2016/12/25 Javascript
Vue.js之slot深度复制详解
2017/03/10 Javascript
vue router使用query和params传参的使用和区别
2017/11/13 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
2018/07/03 Javascript
写gulp遇到的ES6问题详解
2018/12/03 Javascript
vue实现搜索功能
2019/05/28 Javascript
vue的滚动条插件实现代码
2019/09/07 Javascript
在Vue中使用antv的示例代码
2020/06/29 Javascript
vue添加锚点,实现滚动页面时锚点添加相应的class操作
2020/08/10 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
2020/11/04 Javascript
Python简单进程锁代码实例
2015/04/27 Python
Python的Django框架中TEMPLATES项的设置教程
2015/05/29 Python
解决python中 f.write写入中文出错的问题
2018/10/31 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
2019/07/24 Python
浅析python redis的连接及相关操作
2019/11/07 Python
python退出循环的方法
2020/06/18 Python
Selenium关闭INFO:CONSOLE提示的解决
2020/12/07 Python
CSS3 选择器 伪类选择器介绍
2012/01/21 HTML / CSS
Lookfantastic西班牙官网:英国知名美妆购物网站
2018/06/13 全球购物
美国沃尔玛网上超市:Walmart
2020/08/14 全球购物
Sony C++笔试题
2013/03/10 面试题
C#中有没有静态构造函数,如果有是做什么用的?
2016/06/04 面试题
餐厅销售主管职责范本
2014/02/19 职场文书
公司年会搞笑主持词
2014/03/24 职场文书
大学自主招生推荐信
2014/05/10 职场文书
创建绿色学校先进个人材料
2014/08/20 职场文书
银行给客户的感谢信
2015/01/23 职场文书
如何利用Matlab制作一款真正的拼图小游戏
2021/05/11 Python
Mysql调整优化之四种分区方式以及组合分区
2022/04/13 MySQL
vue项目配置sass及引入外部scss文件
2022/04/14 Vue.js