仿留言板功能
网上下载的小功能练习,该实例最好使用火狐浏览器打开.

实现效果图:

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);
}
表情图片





浙公网安备 33010602011771号