仿留言板功能
网上下载的小功能练习,该实例最好使用火狐浏览器打开.
实现效果图:
html代码
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>留言板功能</title> <link rel="stylesheet" type="text/css" href="index.css"> <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.8.3/jquery.js"></script> <script type="text/javascript" src ="jajax.js"></script> </head> <body> <div id="container"> <h2>留言板展示</h2> <div class="textbox"> <div id="comments" class="comments"></div> </div> <div id="userbox"> <span class="statusm msg">wwww</span> <div class="commentbox"> <ul class ="toolbox"> <li class="emotion-select"> 表情 <div class="emotionbox"></div> </li> <li class="text-b">加粗</li> <li class="text-i">斜体</li> <li class="text-u">下划线</li> <li class="text-etc">待添加功能</li> </ul> <div class="commentarea" id="commentarea" contenteditable = "true">请输入留言内容</div> <span class="commentm msg">留言内容不能为空</span> </div> <div class="userinfo"> <span>您的昵称:</span><input type="text" id="username" class="username" value="请输入昵称"> <span class="usernamem msg">用户昵称不能为空</span> <input type="button" id="sub" class="sub" value="提交"> </div> </div> </div> </body> </html>
css
#container{ width:500px; margin:20px auto; } /*.textbox{ width:500px; height:300px; border:1px solid gray; margin:5px auto; }*/ .textbox .comments { overflow-y: auto; word-break: break-all; color:green; width:500px; height:300px; border:1px solid gray; margin:5px auto; } /*用户部分*/ #userbox { position:relative; top:0; left:0; width:500px; height:180px; padding-top:15px; } #userbox .msg { font-size:10px; line-height: 10px; display:inline-block; color:red; } #userbox .statusm { position:absolute; top:3px; left:0; display:none; } #userbox .commentbox .commentm { position:absolute; top:138px; left:0; display:none; } #userbox .userinfo .usernamem { display:none; } #userbox .commentbox{ width:500px; height:115px; margin:0 auto; } #userbox .commentbox .toolbox { list-style:none; width:500px; height:35; border:1px solid gray; border-bottom: 0; margin:0; padding:0; /*overflow: hidden;*/ } #userbox .commentbox .toolbox li { float:left; line-height:34px; display:inline-block; width:50px; height:34px; text-align:center; cursor:pointer; } #userbox .commentbox .toolbox li:hover { color:#fff; background-color:#ddd; } #userbox .commentbox .toolbox { width: 698px; height: 34px; margin: 0; padding: 0; list-style: none; border: 1px solid #c8cdd2; border-bottom: 0; } #userbox .commentbox .toolbox li { line-height: 34px; display: inline-block; float: left; width: 80px; height: 34px; cursor: pointer; text-align: center; } #userbox .commentbox .toolbox li:hover { color: #fff; background-color: #ddd; } /*工具栏表情选择*/ #userbox .toolbox .emotion-select { position:relative; } #userbox .toolbox .emotion-select .emotionbox { position:absolute; display:none; top:-96px; left:-1px; width:128px; height:96px; margin:0; padding:0; } #userbox .toolbox .emotion-select .emotionbox img { display:block; float:left; width:30px; height:30px; margin:0; padding:0; cursor:pointer; border:1px solid gray; } #userbox .toolbox .emotion-select:hover .emotionbox { display:block; } #userbox .toolbox .emotion-select .emotionbox img:hover { border-color:#000; } #userbox .commentarea { width:485px; height:75px; border:1px solid gray; padding:5px 0 0 15px; margin:0 auto; overflow-y:auto; word-break: break-all; } #userbox .userinfo { width:500px; height:45px; margin:10px auto; } #userbox .userinfo .sub { float:right; }
js
alert("jiayou"); $(function(){ $("#commentarea").focus(function(){ if($(this).text()=="请输入留言内容") { $(this).text(""); } }) $("#username").one("focus",function(){ if($(this).val()=="请输入昵称") { $(this).val(""); } }) // 提交按钮 $("#sub").click(function(){ var $comment = $("#commentarea").html(); var $username = $("#username").val(); if($comment && $username !="") { sendComment($comment,$username); $(".commentm").hide(); $(".usernamem").hide(); }else if($comment =="" && $username !="") { $(".commentm").show(); $("#commentarea").focus(); return false; }else if($comment !="" && $username =="") { $(".usernamem").show(); $("#username").focus(); return false; }else{ $(".commentm").show(); $(".usernamem").show(); alert("请输入完整留言"); return false; } $(document).ajaxStart(function(){ $(".statusm").show().html("留言中..."); }); $(document).ajaxStop(function(){ $(".statusm").html("留言成功").fadeOut(1000); }); }); // 添加表情 imgInit(); $("img").click(function(){ $("#commentarea").append($("#"+this.id).clone()); }); // 加粗 $(".text-b").click(function(){ if($("#commentarea").has("b").length !=0) { var bh = $("#commentarea b").html(); $("#commentarea b").replaceWith(bh); }else { $("#commentarea").wrapInner("<b></b>"); } }); // 斜体 $(".text-i").click(function(){ if($("#commentarea").has("i").length !=0) { var ih = $("#commentarea i").html(); $("#commentarea i").replaceWith(ih); }else { $("#commentarea").wrapInner("<i></i>"); } }); // 下划线 $(".text-u").click(function(){ if($("#commentarea").has("u").length !=0) { var uh = $("#commentarea u").html(); $("#commentarea u").replaceWith(uh); }else { $("#commentarea").wrapInner("<u></u>"); } }); }); // 自定义提交留言内容和用户昵称 function sendComment(comment,name) { var $usercomment = "<b><i>"+name+"</i><b>"+" 发表于 "+"<i>"+GetDate()+"</i>"+ "<br/>"+comment+"<br/>"; var $commentslist = $("#comments").html()+$usercomment; // 使用ajax实现 $.ajax({ url:"", dataType:"text", data: "&comment=&d="+new Date()+ "&commentslist="+$commentslist, // data: "&commentslist="+$commentslist, success: function(data){ $("#comments").html($commentslist); $("#comments").get(0).scrollTop = $("#comments").get(0).scrollHeight; $("#commentarea").html(""); }, err: function(){ alert("提交失败"); } }); // 未用ajax实现 // $("#comments").html($commentslist); // $("#comments").get(0).scrollTop = $("#comments").get(0).scrollHeight; // $("#commentarea").html(""); } function GetDate() { var t = new Date(); var y = t.getFullYear(); var m = t.getMonth(); var d = t.getDate(); var h = t.getHours(); var min = t.getMinutes(); var s = t.getSeconds(); var time = y+"/"+m+"/"+d+" "+h+":"+min+":"+s; return time; } function imgInit(){ var eImg = ""; for(var i=1;i<13;i++) { // eImg += '<img src = "http://file.imooc.com/opus/B4/271696/254/img/'+i+'.JPG" id = "e'+i+'"/>'; eImg += '<img src = "img/'+i+'.JPG" id = "e'+i+'"/>'; } $(".emotionbox").append(eImg); }
表情图片