基于jquery DOM写的类似微博发布的效果

 更新时间:2012年10月20日 02:25:36   作者:  
看了上个原生js DOM版的微博发布的效果,再来看看如何用jq写。看完代码,就会发现jq的强大,用更少的代码写更多的效果
复制代码 代码如下:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>微博发布jq版</title>
<meta name="Keywords" content="">
<meta name="Description" content="">
<script src="http://code.jquery.com/jquery-1.8.0.min.js" type="text/javascript"></script>
<style type="text/css">
/*重置{*/
html{color:#000;background:#fff;}
body,div,ul,li,h1,input,button,textarea{padding:0;margin:0;}
img{border:0;}
li{list-style:none;}
/*}重置*/
h1{margin:20px auto 0;font-size:30px;width:200px;text-align:center;color:blue;}
#outer{position:relative;width:400px;margin:auto;margin:20px auto 10px;}
#test1{display:block;width:400px;height:70px;}
.error{background:#f00;width:400px;height:50px;position:absolute;left:1px;top:10px;opacity:0.6;filter:alpha(opacity=60);}
#test2{display:block;margin-left:800px;width:60px;height:30px;font-size:20px;}
.test3{margin:10px auto;width:400px;}
#test3{border:1px #444 solid;width:400px;min-height:300px;_height:300px;padding-bottom:10px;color:blue;float:left;}
.test{border-bottom:1px blue dotted;width:383px;padding:10px 5px 5px 10px;float:left;}
.inf{margin-top:15px;float:right;color:#555;}
.con{margin-left:16px;display:inline;width:304px;float:left;word-break:break-all;}
.bu{margin-left:6px;display:inline;}
.imgs{width:60px;height:60px;float:left;}
.imgInf{width:120px;background:#f0f;color:#fff;position:absolute;z-index:2;left:-65px;top:62px;opacity:0.5;filter:alpha(opacity=50);}
.finish{background:green;width:300px;height:50px;color:#ff0;font-size:30px;text-align:center;line-height:50px;position:absolute;left:50px;top:10px;opacity:0.6;filter:alpha(opacity=60);}
.imgOut{position:relative;}

</style>
</head>
<body>
<h1>微博发布</h1>
<div id="outer">
<textarea id="test1" ></textarea>
</div>
<input type="button" id="test2" value="发布"/>
<div class="test3"><div id="test3"></div></div>

<script type="text/javascript">
<!--
$('#test2').click(function(){ //点击发布的事件
if($('#test1')[0].value==""){
var finish=$('<div class="error"></div>').appendTo($('#outer')).hide().fadeIn(200).fadeOut(200).fadeIn(200).fadeOut(200);
return;
}else{
$('#test2')[0].disabled=true; //发布成功后,禁止
var timer=new Date();
//微博
$('<div class="test"><span class="imgOut"><img src="images/wukong.gif" class="imgs"/></span><div class="con"></div><div class="inf">'+timer.getHours()+"时"+timer.getMinutes()+"分"+timer.getSeconds()+"秒"+'<input type="button" value="删除" class="bu"/></div></div>').prependTo($('#test3'));
$('.con')[0].innerText=$('#test1')[0].value;
//头像信息
$('.imgs:eq(0)').hover(
function(){$('<ul class="imgInf"><li>名字:悟空</li><li>称号:战斗圣佛</li><li>现居:花果山</li></ul>').appendTo($(this).parent());},
function(){$('.imgInf').remove();}
)
//清空
$('#test1')[0].value="";
//发布成功时动画
$('<div class="finish">发布成功</div>').appendTo($('#outer')).hide().fadeIn(500).fadeOut(500,function(){$('#test2')[0].disabled=false;});
//插入节点时的动画效果
$('.test:first').hide().slideDown("slow");
//删除按钮的事件
$('.bu:eq(0)').click(function(){
if(confirm('确定删除吗?')){
$(this).parent().parent().hide(1000,function(){
$(this).remove();
});
}
});
}
})
//-->
</script>
</body>
</html>

相关文章

  • jQuery focus和blur事件的应用详解

    jQuery focus和blur事件的应用详解

    本篇文章主要是对jQuery中focus和blur事件的应用进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • JQuery ztree带筛选、异步加载实例讲解

    JQuery ztree带筛选、异步加载实例讲解

    这篇文章主要为大家详细介绍了JQuery ztree带筛选、异步加载实例,zTree支持静态 和 Ajax 异步加载节点数据,并支持极其灵活的checkbox或radio选择功能,本文为大家进行具体介绍
    2016-02-02
  • jquery+css实现动感的图片切换效果

    jquery+css实现动感的图片切换效果

    这篇文章主要介绍了jquery+css实现动感的图片切换效果,效果实现很精致,动画简洁大方,推荐给大家,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • 详解jQuery中基本的动画方法

    详解jQuery中基本的动画方法

    通过jQuery中基本的动画方法,能够轻松地为网页添加非常精彩的视觉效果,给用户一种全新的体验,本文主要对jQuery中基本的动画方法进行详细介绍,需要的朋友一起来看下吧
    2016-12-12
  • jquery UI Datepicker时间控件的使用方法(加强版)

    jquery UI Datepicker时间控件的使用方法(加强版)

    这篇文章继续介绍了jquery UI Datepicker时间控件的使用方法,主要关于Datepicker插件的介绍和使用,并分享了第一个日历插件的使用实例,需要的朋友可以参考下
    2015-11-11
  • jQuery-mobile事件监听与用法详解

    jQuery-mobile事件监听与用法详解

    这篇文章主要介绍了jQuery-mobile事件监听与用法,结合实例形式分析了jQuery-mobile各种常见事件类型与使用技巧,需要的朋友可以参考下
    2016-11-11
  • jquery插件懒加载的示例

    jquery插件懒加载的示例

    这篇文章主要介绍了jquery插件懒加载的示例,帮助大家更好的利用jQuery制作网页,感兴趣的朋友可以了解下
    2020-10-10
  • jQuery获取动态生成的元素示例

    jQuery获取动态生成的元素示例

    页面上可以动态添加数据,比如table,点击按钮可以动态添加行,下面与大家分享下jQuery如何获取动态生成的元素
    2014-06-06
  • 使用js显示当前时间示例

    使用js显示当前时间示例

    这篇文章主要介绍了使用js显示当前时间示例,这里也用到了jquery,让得把它也要引入到页面中
    2014-03-03
  • jquery无刷新验证邮箱地址实现实例

    jquery无刷新验证邮箱地址实现实例

    原理非常的简单在用户输入邮箱离开之后我们通用jquery ajax发送数据给mail.php文件,然后由它实现查找此邮箱是不是在数据库中然后反馈对应信息即可
    2014-02-02

最新评论