JS模仿腾讯微博app撕纸效果

本来想用css3来实现,但后来脑袋一热就用了js,省的别人你ie怎么没效果啊!在腾讯微博app上看到的一个效果,鼠标击哪里就撕了哪里,跟撕报纸似的,任意点击左边面的灰色区域,查看效果,当时觉得很有意思,问了下高人,突然觉悟了,原来如此。

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>蓄能器隔膜</title>
<style type="text/css">
body{margin:0;padding:0;font-size:14px;line-height:22px;}
.content,content_mack{width:300px;height:400px;overflow:hidden;font-size:12px;line-height:20px;background:#f2eee3;cursor:pointer;}
.content_mack{position:absolute;top:0px;left:0;}
.mack{position:absolute;width:300px;height:50px;overflow:hidden;top:0px;left:0px;background:#fff;}
.bg_sizhi{position:absolute;width:300px;height:50px;overflow:hidden;background:url(‘/imagesforcode/201305/bg-sizhi.gif‘);top:0px;left:0;line-height:50px;text-align:center;}
</style>
</head>
<body>
<div style="width:300px;height:400px;overflow:hidden;position: relative;float:left;">
    <div class="content" id="content">
        <div class="content">04-262.59MCerberus FTP Server 中文版 2.48FTP软件04-253.55MWeb Page Maker简易网页制作 v3.1网页制作04-25990KRemote Desktop Spy服务器监控、远程控制 v5.2服务器软件04-252.20Kx3389远程端口修改器 1.0服务器软件04-25210K远程桌面3389批量登录软件3.0远程控制04-25789KTable2CSS Table布局转Div+CSS 3.0!<br>04-2314.1Mjre1.6下载 | jre 1.6 JAVA虚拟机环境包编程开发04-2393.9KVC++正则表达式测试器编程开发04-2331.6K解除右键限制、网页禁止复制功能的小软件站长工具04-231.49MDiagram Designer矢量图编辑器。</div>
        <div class="bg_sizhi" id="bg_sizhi">JS模拟的腾讯微博app撕纸效果</div>
        <div class="mack" id="mack">
<div class="content content_mack"  id="content_mack">05-0114.3KC#自动更换IP地址网络相关05-0117.0KC#网络发送与接收统计程序网络相关05-0115.8K局域网IP扫描程序C#源码网络相关05-01411K前后平滑旋转的jQuery网页幻灯片代码焦点幻灯05-01300KVB RichTextBox控件使用方法指南 pdfVB教程05-01925KVB 函数速查手册 pdfVB教程05-01509KHTML5和CSS全面动画效果的焦点图特效焦点幻灯05-014.49K类似树形菜单的jquery多级展开下拉菜单菜单导航05-0136.0K仿Flash背景左右滑动的多彩网页菜单菜单导航04-3016.9MJava范例开发大全一书光盘源代码书籍源码04-30916KAndroid与Js交互源码实例<br>
Android滑动菜单制作RenRenSlidingLayout代码Android源码04-30644KFlat UI HTML用户界面常用代码包Ajax/JavaScript04-3053.3KJavaScript仿百度百科词条统计动画效果Ajax/JavaScript04-30267Kjquery由外向内的收缩效果示例jQuery04-306.41KDelphi Mode属性用法举例控件组件04-306.03KStartPos属性-Delphi用法其它类别04-306.47KNotifyValue属性用法一例Delphi源代码其它类别04-30</div>
        </div>
    </div>
</div>
<script>
    function $(id){/* 获取id */
        return typeof id === "string" ? document.getElementById(id) : id;
    }
    function getStyle(obj, attr){
        return obj.currentStyle?obj.currentStyle[attr]:getComputedStyle(obj, false)[attr];
    }
    function startMove(obj, json, fnEnd){
        if(obj.timer){
            clearInterval(obj.timer);
        }
        obj.timer=setInterval(function (){
            doMove(obj, json, fnEnd);
        }, 10);

        var oDate=new Date();

        if(oDate.getTime()-obj.lastMove>30){
            doMove(obj, json, fnEnd);
        }
    }
    function doMove(obj, json, fnEnd){
        var iCur=0;
        var attr=‘‘;
        var bStop=true;//假设运动已经该停止了
        for(attr in json){
        iCur = attr==‘opacity‘?parseInt(100*parseFloat(getStyle(obj, ‘opacity‘))):parseInt(getStyle(obj, attr));
            if(isNaN(iCur)){
                iCur=0;
            }
            var iSpeed=(json[attr]-iCur)/8;
            iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);
            if(parseInt(json[attr])!=iCur){
                bStop=false;
            }
            if(attr==‘opacity‘){
                obj.style.filter="alpha(opacity:"+(iCur+iSpeed)+")";
                obj.style.opacity=(iCur+iSpeed)/100;
            }
            else{
                obj.style[attr]=iCur+iSpeed+‘px‘;
            }
        }
        if(bStop){
            clearInterval(obj.timer);
            obj.timer=null;

            if(fnEnd){
                fnEnd();
            }
        }

        obj.lastMove=(new Date()).getTime();
    }
    var flag = 0;
    $(‘content‘).onclick = function(ev){
        var oEvent=ev||event;
        if(!flag){
            var Y = oEvent.clientY-25;
            Y = Y<0?0:Y;
            Y = Y>350?350:Y;
            $(‘bg_sizhi‘).style.top = $(‘mack‘).style.top = Y+‘px‘;
            $(‘content_mack‘).style.top = -Y+‘px‘;
            startMove($(‘mack‘),{‘left‘:-300});
            flag = 1;
        }else{
            startMove($(‘mack‘),{‘left‘:0});
            flag = 0;
        }

    }
</script>
</body>
</html>
 

JS模仿腾讯微博app撕纸效果,布布扣,bubuko.com

时间: 2024-10-27 07:17:43

JS模仿腾讯微博app撕纸效果的相关文章

图片撕纸效果处理

       /// <summary> /// 撕纸效果 /// </summary> public class TearHelper { private static SolidBrush out_sb = new SolidBrush(Color.FromArgb(80, 110, 105, 109)); private static Pen out_pen = new Pen(Color.FromArgb(220, 128, 128, 128)); /// <summ

Js仿腾讯微博效果,无刷新删除微博

<!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> <meta http-equiv="Content-

腾讯空间、新浪微博、腾讯微博登录接口

腾讯空间.新浪微博.腾讯微博登录接口的使用. 注意:在网站对接前,请先申请注册好您的QQ登录appid.新浪登录Appkey.腾讯微博appkey. 1.引用JS文件 <script src="http://qzonestyle.gtimg.cn/qzone/openapi/qc_loader.js" data-appid="appid"  type="text/javascript" language="javascript&q

一键分享到新浪微博、腾讯微博、搜狐微博、人人网、开心网、百度收藏等js代码大全

下面给大家一些分享的js代码,只要把代码插入自己的网页中稍微修改一下图片路径就可以用了,好了,废话少说,上代码:  document.writeln("<b>喜欢本文,那就分享到:</b> "); document.write("  <a href=\"javascript:window.open(\'http:\/\/v.t.sina.com.cn\/share\/share.php?title=\'+encodeURICompone

JS 微博,人人,腾讯微博直接分享

function sharesina() { window.open("http://service.weibo.com/share/mobile.php?&title=&pic=&url="); } function shareqq() { window.open("http://share.v.t.qq.com/index.php?c=share&a=index&url=&appkey=&assname=&t

分享到QQ空间、新浪微博、腾讯微博的代码!(收藏)

QQ空间分享代码如下:   <a href="javascript:void(0);" onclick="window.open('http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url='+encodeURIComponent(document.location.href));return false;" title="分享到QQ空间"><img src=&

分享到QQ空间、新浪微博、腾讯微博的代码!

给网页加上分享代码,借助网友的力量推广网站,目前已经很流行了 以下是网页代码 QQ空间分享代码如下: <a href="javascript:void(0);" onclick="window.open('http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url='+encodeURIComponent(document.location.href));return false;" title

QQ第三方登陆及同步内容到腾讯微博,腾讯空间,朋友网

一.开发前准备工作 1 进入http://connect.qq.com进行登陆,然后点击网站接入(根据需求,如果需要移动应用接入点击移动应用接入).下列例子为网站接入. 2 创建应用页面中,将鼠标放在"验证"按钮上,会弹出一个小窗口,将要复制的内容复制下来放在你网站的首页对应位置,然后点击"开始验证"按钮 二.开发 1 将该代码放入你网站登陆页面 <a href='https://graph.qq.com/oauth2.0/authorize?client_i

asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)

自从腾讯微博上线以来,基本上就开始用了,一直到现在,作为一个开发人员,也看到了腾讯微博一直在不停的改变,也不知道大家有没有发现,腾讯微博提供两种加载数据的方式,一种是分页,一种是滚动浏览器滚动条加载数据,分页功能我想大家都做得太多了,今天我与大家分享一下我用滚动条滚动加载数据,小生不才,还望各位大侠指教,呵呵~ 下面开讲: 首先说一下思路,我用的是Jquery,然后通过Jquery的ajax()方法通过 HTTP 请求加载远程数据来实现的,用到Jquery,首先要应用jquery.min.js类