jsp 类似于空间评论回复框的效果

类似于qq空间评论回复框的效果
具体效果是:
1. 没有点击回复框的时候,只显示一个回复框,
2. 当点击回复框之后,回复框获得焦点,然后显示回复框下面的表情啊,“回复”按钮等,
3. 点击页面任意地方(除了回复框部分),包括页面空白或者其他元素。回复框又恢复为最初的状态。
4. 点回复按钮只能出来一个文本框
这个谁知道怎么弄??

第1个回答  2012-12-28
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>RunJS</title>
<script id="jquery_172" type="text/javascript" class="library" src="/js/sandbox/jquery/jquery-1.7.2.min.js"></script>
</head>
<body>
<a style='font-size:15pt;' href='javascript:void(0)' onclick='openDialog("reply");'>评论</a>
<div>
<span class="close"></span>
<span id="reply">评论"某某"的答案</span>
<span class="tip">请输入内容:</span>
<textarea></textarea>
<button>发表评论</button>
<a href="javascript:void(0)" class='cancel'>取消</a>
</div>
</body>
</html>
--------------------------------------------------------------------------------------------------------------------
(function($){
function getParent(obj,cnt){
for(var i=0;i<cnt;i++){
obj = obj.parent();
}
return obj;
}

$.fn.TDragDrop = function(set){
var defaults = {
parent:0, // 拖动对象,向上n父节点,parent为0时,拖动本身
opacity:0.3 // 拖动时节点透明度,默认为0.3
};
var setting = $.extend(defaults, set);

this.each(function(){
var ele = getParent($(this),setting.parent);
ele.css('position','absolute')
.css('top',ele.offset().top)
.css('left',ele.offset().left);
$(this).bind('mousedown',function(event){
event = event || window.event;
var self = getParent($(this),setting.parent);
self.attr('flag',true)
.attr('oldZIndex',self.css('z-index'))
.attr('startX',event.clientX - self.offset().left)
.attr('startY',event.clientY - self.offset().top);

self.css('cursor','move')
.css('z-index',99999)
.css('opacity',setting.opacity);
document.onselectstart=function(){return false};
}).bind('mouseup mouseout',function(){
var self = getParent($(this),setting.parent);
self.css('cursor','auto')
.css('z-index',self.attr('oldZIndex'))
.css('opacity','1');
self.attr('flag',false);
document.onselectstart=function(){return true};
}).bind('mousemove',function(event){
event = event || window.event;
var self = getParent($(this),setting.parent);
if(self.attr('flag') === 'true'){
self.offset({'left':event.clientX - self.attr('startX'),
'top':event.clientY - self.attr('startY')});
if(self.offset().left < 0){
self.offset({'left':0});
}else if(self.offset().left > $(window).width() - self.width() - 2){
self.offset({'left':$(window).width() - self.width() - 2});
}
if(self.offset().top < 0){
self.offset({'top':0});
}else if(self.offset().top > $(window).height() - self.height() - 2){
self.offset({'top':$(window).height() - self.height() - 2});
}

}
});

});
}
})(jQuery);

$(function(){
// 调用
var obj = $("#reply");
obj.TDragDrop({'parent':1});

$('.close,.cancel').click(function(){
$(this).parent().fadeOut('normal');
})

openDialog('reply');
});

function openDialog(id){
// 居中
var box = $("#"+id).parent();
box.fadeIn('normal');
box.offset({'top':($(window).height()-box.height())/2,
'left':($(window).width()-box.width())/2});
$("textarea").val('');
}

-----------------------------------------------------------------------------------------------------------
*{
padding:0;
margin:0;
font-size:11pt;
font-family:Verdana,sans-serif,'宋体';
}
div{
border:1px solid #eee;
background-color:#fff;
width:410px;
border-radius:4px;
padding:8px;
padding-bottom:20px;
-webkit-box-shadow:0px 0px 15px 3px #515151;
-moz-box-shadow:0px 0px 15px 3px #515151;
}
textarea{
width:100%;
height:80px;
margin-bottom:20px;
background:none repeat scroll 0 0 #FFFFDD;
background-color:#FFFFDD;
border:1px solid #ccc;
resize:none;
}
button{
padding:2px;
font-size:10pt
}
a{
font-size:9pt;
color:#4466BB;
}
#reply{
background-color:#40AA53;
display:block;
font-size:13px;
height:18px;
line-height:18px;
padding:5px 15px;
color:#fff;
font-weight:bold;
}
.tip{
display:block;
margin-top:10px;
margin-bottom:5px;
font-size:10pt;
}
.close{
background:url("http://www.oschina.net/js/2011/fancybox/fancybox.png") repeat scroll -40px 0 transparent;
display:block;
width:30px;
height:30px;
position:absolute;
top:-17px;
right:-17px;
z-index:9999999;
}追问

大神,能不能加qq聊一下,你写的不是很明白!!
qq: 2664941751

追答

直接套进去用呢 自己看着改下, HTML-javaScript-CSS

第2个回答  2012-12-28
javascript获取焦点,触发事件发生。追问

这个我知道,现在是点回复,只能出来一个回复框,类似于qq空间里面的说说评论一样,不过要很多人评论的那种,我可以回复好友的评论,这个点回复,只能出来一个回复框,这个怎么实现???

jsp 类似于空间评论回复框的效果
评论 评论"某某"的答案 请输入内容: <textarea><\/textarea> 发表评论 取消 ---

QQ空间是用什么写的?jsp么?用asp.net能写出来吗?
QQ空间有什么写的不知道,但是我感觉怎么像是用.net写的呢,那里面的一些效果完全可以用.net来实现。你说的一部分特效使用javascript,flash实现的,现在很热的ajax也可以实现里面的一些好看的效果,并且ajax可以很好的asp.net结合使用。所以用asp.net完全可以实现。楼主为什么认为是jsp呢?jsp比asp.net强...

程序设计中的指令是什么?有哪几种?
在ASP或JSP环境下,HTML代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的HTML页面只依赖于Web服务器,而ASP和JSP页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML代码中,然后一起发送给浏览器。ASP和JSP都是面向Web服务器的技术,客户端浏览器不需要任何附加的软件支持。

jsp页面一列占三列怎么办
当jsp页面中的一列占据三列时,可能是由于CSS样式的设置问题导致的。在解决这个问题之前,我们需要确定页面使用的布局方式是基于栅格系统还是使用自定义的CSS样式。如果页面使用的是栅格系统(如Bootstrap),可以根据栅格系统提供的类来实现一列占据三列的效果。例如,可以使用col-md-4的类来将一列分为三...

jsp页面静态化(jsp页面中的静态html内容称之为什么?)
此外,页面静态化在一定程度上也提高了页面访问速度和系统性能及稳定性---这使得在搜索引擎优化上面,为使得效果更加明显,问题简单快速解决,大家对站点的静态化趋之若骛。 然而对于一些大型网站,静态化带来的问题和后续成本也是不容忽视的: 由于生成的文件数量较多,存储需要考虑文件、文件夹的数量问题和磁盘空间容量的问...

JAVA的简介?
当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。

文件夹是由谁创建的
当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。

电视节目互动系统的设计与实现
网络互动节目管理系统的设计以windows XP为操作平台,采用ASP作为前端开发工具,SQL Server 2000作为后台数据库,主要实现了用户注册登录,查询、点播节目,浏览、发表评论,浏览网络广告,参加网络投票等功能;实现了管理员对电视节目、网络广告、投票内容的添加、修改与删除,对网络评论与观众、节目参加人员的...

谁知道哪个在线客服源码好用啊?
访客输入信息预知功能 -客服可以实时查看访客正在对话框输入的信息,预知客户所说所想 快捷回复 -可以给淘宝旺旺\/QQ\/MSN\/SKYPE等用户发送快捷回复用语,提高了客服的回复效率,提升了客户满意度 访客信息备注 -备注重要客户信息,当该客户再次咨询时,可识别该客户,增加客户的亲切感,提升客户的体验 熟客...

psp有什么功能
Core2采用了类似NVIDIA Shading Rasterizer (NSR)技术,NSR使真实材料属性尽可能达到 per-pixelshading效果,也就是Pixel Shader处理Pixel Sha ding达到的效果(但只是接近而已).NSR可以对每个像素进行动态阴影处理成为可能,使复杂的画面现在有了丰富的细节;像素 bump mapping 等功能可以用来实现更精彩的视觉效果,如凹凸贴图...

相似回答