jquery 新浪网易的评论块制作


Posted in Javascript onJuly 01, 2010

效果图如下:
jquery 新浪网易的评论块制作
技术要点:
1。因为 textarea里面不能放图片,所以和新浪的做法一样,选用iframe放内容,然后隐藏一个 textarea用于提交。

2 。JQqery tab 插件的使用(文盲都会)
先引用这三个:

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>

然后:
$(function() {
$("#tabs").tabs();
});

3。 让iframe可编辑
window.frames["iframe1"].document.designMode='on';

4。 打开简易窗体
var newwindow = window.open("tab.htm",'_blank', toolbars=0,resizable=1);

5。 iframe里执行父窗体的方法
window.opener.XXX(xxx);

其实也就三个页面,不愿下载的直接复制粘贴,拿去就能用。大家有什么好的想法或创意欢迎讨论。

<html> 
<head> 
<title>插入表情</title> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<style> 
img 
{ 
cursor:pointer; 
} 
</style> 
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> 
<script type="text/javascript"> 
$(function() { 
$("#tabs").tabs(); 
}); 
</script> 
</head> 
<body style="font-size:62.5%;"> 
<script language="javascript"> 
function SetEmotion(e) 
{ 
window.opener.InsertEmotion(e.childNodes[0].src); 
window.close(); 
} 
</script> 
<div class="demo"> 
<div id="tabs"> 
<ul> 
<li><a href="#tabs-1">种类一</a></li> 
<li><a href="#tabs-2">种类二</a></li> 
<li><a href="#tabs-3">种类三</a></li> 
</ul> 
<div id="tabs-1"> 
<table id="EmoticonsTable" border="0"> 
<tr> 
<td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701164928735.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165013458.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165014385.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165016991.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165016263.gif'></div></td> 
</tr><tr> 
<td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165016891.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165016175.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165016747.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165016337.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165018905.gif'></div></td> 
</tr><tr> 
<td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165018628.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165018279.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165018245.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165018520.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165019697.gif'></div></td> 
</tr><tr> 
<td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165019381.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165019848.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165019645.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165019345.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165019360.gif'></div></td> 
</tr><tr> 
<td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165019244.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165019883.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165019553.gif'></div></td><td></td><td></td><td></td> 
</tr> 
</table> 
</div> 
<div id="tabs-2"> 
<table id="Table1" border="0"> 
<tr> 
<td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165020968.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165020329.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165020557.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165020895.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165020713.gif'></div></td> 
</tr><tr> 
<td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165020182.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165020279.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165020100.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165020694.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165020694.gif'></div></td> 
</tr><tr> 
<td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165020837.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165020704.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165020673.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165020780.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165020895.gif'></div></td> 
</tr><tr> 
<td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165020297.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165020751.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021306.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021575.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021416.gif'></div></td> 
</tr><tr> 
<td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021685.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021474.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021686.gif'></div></td><td></td><td></td><td></td> 
</tr> 
</table> 
</div> 
<div id="tabs-3"> 
<table id="Table2" border="0"> 
<tr> 
<td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021222.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021322.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021725.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021584.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021614.gif'></div></td> 
</tr><tr> 
<td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021750.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021572.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021641.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021603.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021771.gif'></div></td> 
</tr><tr> 
<td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021702.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021925.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021484.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021419.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021219.gif'></div></td> 
</tr><tr> 
<td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021144.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021352.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165021167.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165022241.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165022772.gif'></div></td> 
</tr><tr> 
<td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165022756.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165022156.gif'></div></td><td><div onclick="SetEmotion(this)"><img src='/upload/201007/20100701165022986.gif'></div></td><td></td><td></td><td></td> 
</tr> 
</table> 
</div> 
</div> 
</div> 
</body> 
</html>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head> 
<title>Untitled Page</title> 
<script type="text/javascript" language="javascript"> function xx() 
{ 
window.frames["iframe1"].document.designMode='on'; 
} 
function xxx() 
{ 
window.frames["iframe1"].document.getElementById("xxx").innerHTML+='<img title="顶" alt="顶" src="/upload/201007/20100701165022953.gif" _moz_dirty="">'; 
} 
function openTab() 
{ 
var newwindow = window.open("tab.htm",'_blank', toolbars=0,resizable=1); 
newwindow.focus(); 
} 
function InsertEmotion(content) 
{ 
document.getElementById("TextArea1").value+=content; 
window.frames["iframe1"].document.getElementById("xxx").innerHTML+='<img title="顶" alt="顶" src="'+content+'" _moz_dirty="">'; 
} 
</script> 
</head> 
<body onload="xx()"> 
<iframe frameborder="0" src="HTMLPage1.htm" style="border: 1px solid rgb(199, 199, 199); height: 158px; width: 448px; background-color: white;" id="iframe1"></iframe> 
<div> 
<textarea id="TextArea1" style="height:150px;display:none;" cols="20" rows="2"></textarea> 
<input id="Button2" type="button" value="提交" /> 
<!-- <input id="Button1" type="button" value="button" onclick="return xxx()" />--> 
<input id="Button3" type="button" value="选择表情" onclick="openTab()" /> 
</div> 
</body> 
</html>

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<style> 
p { 
* margin:0.2em auto; 
} 
body { 
margin: 0; 
scrollbar-face-color: #ffffff; 
scrollbar-highlight-color: #ffffff; 
scrollbar-shadow-color: #c0c1bb; 
scrollbar-3dlight-color: #c0c1bb; 
scrollbar-arrow-color: #c9cbb6; 
scrollbar-track-color: #f4f5f0; 
scrollbar-darkshadow-color: #ffffff; 
scrollbar-base-color: #ffffff; 
padding: 17px; 
word-wrap: break-word; 
overflow: scroll; 
overflow-x: auto; 
height: 90%; 
font-size: 12px; 
background-color:white; 
} 
body, td, textarea, input, br, div, span { 
font-family: '宋体', Verdana, Arial, Helvetica, sans-serif; 
line-height: 1.5; 
} 
img { 
border: 0; 
} 
html { 
height: 100%; 
cursor: text; 
} 
pre { 
white-space: normal; 
} 
form { 
margin: 0; 
} 
</style> 
</head> 
<body style="background-color:white;"> 
<div id="xxx"></div> 
<span id="content" style="display:none"></span> 
</body> 
</html>

6。demo 下载

Javascript 相关文章推荐
Jquey拖拽控件Draggable使用方法(asp.net环境)
Sep 28 Javascript
解决extjs grid 不随窗口大小自适应的改变问题
Jan 26 Javascript
自定义函数实现IE7与IE8不兼容js中trim函数的问题
Feb 03 Javascript
javascript函数式编程程序员的工具集
Oct 11 Javascript
js如何打印object对象
Oct 16 Javascript
Javascript 对cookie操作详解及实例
Dec 29 Javascript
微信小程序获取手机网络状态的方法【附源码下载】
Dec 08 Javascript
vue+springboot实现项目的CORS跨域请求
Sep 05 Javascript
vue子路由跳转实现tab选项卡
Jul 24 Javascript
Vue使用自定义指令实现拖拽行为实例分析
Jun 06 Javascript
vue自定义组件(通过Vue.use()来使用)即install的用法说明
Aug 11 Javascript
原生JavaScript实现弹幕组件的示例代码
Oct 12 Javascript
基于jQuery实现点击同时更改两个iframe的网址
Jul 01 #Javascript
jQuery ajax cache缓存问题
Jul 01 #Javascript
javascript 实用的文字链提示框效果
Jun 30 #Javascript
一个简单的js鼠标划过切换效果
Jun 30 #Javascript
jQuery 通过事件委派一次绑定多种事件,以减少事件冗余
Jun 30 #Javascript
Jquery AJAX 用于计算点击率(统计)
Jun 30 #Javascript
基于jquery的图片懒加载js
Jun 30 #Javascript
You might like
sourcesafe管理phpproj文件的补充说明(downmoon)
2009/04/11 PHP
PHP容易忘记的知识点分享
2013/04/30 PHP
php实现的九九乘法口诀表简洁版
2014/07/28 PHP
CI框架验证码CAPTCHA辅助函数用法实例
2014/11/05 PHP
php类常量用法实例分析
2015/07/09 PHP
Javascript注入技巧
2007/06/22 Javascript
javascript StringBuilder类实现
2008/12/22 Javascript
javascript 嵌套的函数(作用域链)
2010/03/15 Javascript
javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
2012/07/25 Javascript
javascript制作2048游戏
2015/03/30 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
关于vue-router路径计算问题
2017/05/10 Javascript
JavaScript转换数据库DateTime字段类型方法
2017/06/27 Javascript
浅析vue深复制
2018/01/29 Javascript
js如何找出字符串中的最长回文串
2018/06/04 Javascript
详解mpvue小程序中怎么引入iconfont字体图标
2018/10/01 Javascript
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
2019/04/26 Javascript
[47:21]Liquid vs TNC Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
python实现日志按天分割
2019/07/22 Python
python面向对象 反射原理解析
2019/08/12 Python
什么是网络协议
2016/04/07 面试题
应聘教师推荐信
2013/10/31 职场文书
行政前台岗位职责
2013/12/04 职场文书
企业项目策划书
2014/01/11 职场文书
酒店总经理岗位职责
2014/03/17 职场文书
海飞丝的广告词
2014/03/20 职场文书
社保委托书怎么写
2014/08/02 职场文书
创先争优活动个人总结
2015/03/04 职场文书
《神奇的鸟岛》教学反思
2016/02/22 职场文书
大学学生会主席竞选稿怎么写?
2019/08/19 职场文书
mysql查询的控制语句图文详解
2021/04/11 MySQL
Python爬虫之爬取最新更新的小说网站
2021/05/06 Python
OpenCV3.3+Python3.6实现图片高斯模糊
2021/05/18 Python
MySQL 百万级数据的4种查询优化方式
2021/06/07 MySQL
MySQL数据库之存储过程 procedure
2022/06/16 MySQL