HTML5教程——【探秘腾讯,连接一切】

 今天要介绍的 HTML5网站案例是来自腾讯的宣传专题【 探秘腾讯,连接一切】,看看大腾讯的项目技术。。。

    专题截图

    

    专题特色:

    1、首先一开始类似手机解锁的链接界面进入方式就挺新颖的,可能大家觉得手机解锁很常见,但是把这思路用到wab页面还是比较少见,也许技术实现不难,但是技术和创意结合在一起才是最重要的。其实他设置了三个点,当手指按顺序触摸到这三个点就解开了,而路径只是一个引导,并没有实际的用处。核心代码:

//解锁
     var  showDotWin =  function (callback){
         var  dotUp = $( '.up-dot' );
         var  dotLeft = $( '.left-dot' );
         var  dotRight = $( '.right-dot' );
         var  dotPosition = [];
         var  dotList = [dotUp, dotRight, dotLeft];
         var  dotClicked = [];
         var  index = -1;
         var  oldLine =  null ;
         var  dotStartEvent =  function (e){
             e.preventDefault();
             //把点的位置存到变量
             var  tp;
             for  ( var  i = 0; i < dotList.length; i++) {
                 tp = dotList[i];
                 dotPosition.push({
                     x: tp.offset().left,
                     y: tp.offset().top,
                     w: tp.width(),
                     h: tp.height()
                 });
             };
             //判断起点位置是否在第一个点
             var  dotOne = dotPosition[0];
             var  evt = e.touches[0];
             if  (evt.clientX >= dotOne.x && evt.clientX = dotOne.y && evt.clientY = dotN.x && evt.clientX = dotN.y && evt.clientY <= dotN.h + dotN.y) {
                 dotList[index].addClass( 'active' );
                 dotClicked.push(dotList[index]);
                 oldLine.addClass( 'show' ).removeClass( 'active' );
                 oldLine = $( '.line-box' ).filter( '[data-class=' + dotList[index].attr( 'data-class' ) + ']' ).addClass( 'active' );
                 index++;
             };
             if  (index == dotList.length) {
                 oldLine.addClass( 'show' ).removeClass( 'active' )
                 //滑动成功
                 $( '.t-deblocking .txt-1' ).addClass( 'fadeInUp' );
                 $( '.t-deblocking .txt-3' ).addClass( 'fadeInDown' );
                 $(document).off( 'touchstart' , dotStartEvent);
                 callback && callback();
                 setTimeout( function (){
                     $( '.t-deblocking' ).addClass( 'fadeOut' );
                     setTimeout( function (){
                         $( '.t-deblocking' ).remove();
                         setTimeout( function (){
                             $( '.t-guide' ).hide();
                         }, 2000);                     
                     }, 2000)
                 }, 2000);
             };
         }
         var  dotEndEvent =  function (e){
             if  (index != dotList.length) {
                 for  ( var  i = 0; i < dotClicked.length; i++) {
                     dotClicked[i].removeClass( 'active' );
                 };
                 dotClicked = [];
                 index = -1;
                 oldLine =  null ;
                 $( '.up-dot' ).addClass( 'shank' );
                 $( '.line-box' ).removeClass( 'active show' );
                 $( '.line-1' ).addClass( 'active' );
             };
             $(document).off( 'touchmove' , dotMoveEvent);
             $(document).off( 'touchend' , dotEndEvent);
         }
         $(document).on( 'touchstart' , dotStartEvent);
     }

    2、陀螺仪效果

    这个可以说是本专题的最大亮点。先来了解一下陀螺仪的定义:用高速回转体的动量矩敏感壳体相对惯性空间绕正交于自转轴的一个或二个轴的角运动检测装置。利用其他原理制成的角运动检测装置起同样功能的也称陀螺仪。

    当然,这里并没有那么应用复杂,通过手机方位角度(可能我的表述不准确)来做动画,我简单描述一下效果:拿着手机全方位旋转都会有动画效果,或者你手拿手机,手不动,走路或者旋转都会触发动画效果。可以亲身体验一下,这个效果真的很酷!当然,这里也做了处理,可以通过触屏来旋转。上一张陀螺仪的效果图片:

    具体的核心代码我就贴了,很长代码,可以直接去看页面源码。其中里面有个概念可以简单引入:

this .vec3Acc =  new  Vector3(); //Vector3 三维向量

    3、性能处理

    用了安卓的机子体验了一下,三维的监控还是很流畅的,手机轻轻动一下都可以做出敏捷反应,完全没有卡,只是图片出现有点卡,也许在IOS下会效果更好点。里面还有个文字弹层,需要点击页面的某个点触发的。因为刚才说的,监控敏捷流畅,在手机上轻轻动一下,就飘动了,很难点的中那个按钮。

    二维码

    

    更多HTML5网站案例:http://www.w3cmark.com/html5/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值