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自适应宽度的瀑布流实现思路
Feb 20 Javascript
javascript 小数取整简单实现方式
May 30 Javascript
window.returnValue使用方法示例介绍
Jul 03 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
Nov 24 Javascript
Javascript HTML5 Canvas实现的一个画板
Apr 12 Javascript
数据结构中的各种排序方法小结(JS实现)
Jul 23 Javascript
使用gulp搭建本地服务器并实现模拟ajax
Apr 05 Javascript
javascript字体颜色控件的开发 JS实现字体控制
Nov 27 Javascript
vue cli 全面解析
Feb 28 Javascript
webpack项目调试以及独立打包配置文件的方法
Feb 28 Javascript
jQuery - AJAX load() 实例用法详解
Aug 27 jQuery
原生JavaScript实现五子棋游戏
Nov 09 Javascript
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
php邮件发送,php发送邮件的类
2011/03/24 PHP
LotusPhp笔记之:Cookie组件的使用详解
2013/05/06 PHP
腾讯CMEM的PHP扩展编译安装方法
2015/09/25 PHP
Thinkphp实现站点静态化的方法详解
2017/03/21 PHP
php解压缩zip和rar压缩包文件的方法
2019/07/10 PHP
js继承 Base类的源码解析
2008/12/30 Javascript
zTree插件之单选下拉菜单实例代码
2013/11/07 Javascript
js验证整数加保留小数点的简单实例
2013/12/02 Javascript
jquery UI Datepicker时间控件的使用方法(终结版)
2015/11/07 Javascript
jquery实现触发时更新下拉列表内容的方法
2015/12/02 Javascript
微信小程序 progress组件详解及实例代码
2016/10/25 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
2017/01/08 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
2017/02/13 Javascript
jQuery Validate表单验证插件实现代码
2017/06/08 jQuery
AngularJS常见过滤器用法实例总结
2017/07/06 Javascript
AngularJS 教程及实例代码
2017/10/23 Javascript
JavaScript中的一些实用小技巧总结
2019/04/07 Javascript
JavaScript使用ul中li标签实现删除效果
2019/04/15 Javascript
vue设置默认首页的操作
2020/08/12 Javascript
详解如何为eclipse安装合适版本的python插件pydev
2018/11/04 Python
python multiprocessing多进程变量共享与加锁的实现
2019/10/02 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
python简单的三元一次方程求解实例
2020/04/02 Python
使用python计算三角形的斜边例子
2020/04/15 Python
python pymysql链接数据库查询结果转为Dataframe实例
2020/06/05 Python
Python实现微信表情包炸群功能
2021/01/28 Python
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
Java Servlet的主要功能和作用是什么
2014/02/14 面试题
酒店个人培训自我鉴定
2013/12/11 职场文书
一名老师的自我评价
2014/02/07 职场文书
擅自离岗检讨书
2014/02/11 职场文书
大学生自荐信范文
2015/03/05 职场文书
大学生村官入党自传
2015/06/26 职场文书
2019年聘任书的写作格式及范文!
2019/07/03 职场文书
原生Javascript+HTML5一步步实现拖拽排序
2021/06/12 Javascript
Windows11 Insider Preview Build 25206今日发布 更新内容汇总
2022/09/23 数码科技