Canvas展示型页面

   <script>
            function hasClass(node,oclass){
              var oname=node.className.split(/\s+/);
              for (var i = 0; i < oname.length; i++) {
                  if(oname[i]==oclass){
                     return true;
                  }
              };
                 return false;
             }
             function addClass(node,oclass){
                if(hasClass(node,oclass)){
                    return false;
                }else{
                   node.className+=" "+oclass;
                }
             }
             function removeClass(node,oclass){
                var oname= new RegExp('(\\s|^)'+oclass+'(\\s|$)');
                if(hasClass(node,oclass)){
                   var aclass=node.className;
                   node.className=aclass.replace(oname,"");  
                }else{
                    return false;
                }
             }
            // var //opan=document.querySelector(".panel_parent"),
               function addEvent(obj,even,fn){
                 return obj.addEventListener?obj.addEventListener(even,fn,false):obj.attachEvent("on"+even,fn);
                }
                function unaddEvent(obj,even,fn){
                 return obj.removeEventListener?obj.removeEventListener(even,fn,false):obj.detachEvent("on"+even,fn);
                }
                (function(){
                var Mycanvas=document.getElementById("ocanvas"),
                     _context=Mycanvas.getContext('2d'),
                     opanel=document.querySelector(".panel_parent"),
                     opic=document.querySelectorAll(".pic"),
                     owidht=window.innerWidth,
                     oheight=window.innerHeight;
                     for (var i = 0; i < opic.length; i++) {
                        addEvent(opic[i],"click",function(e){
                        var img=this.children[0],
                            ck=new Image();
                            src=img.getAttribute("data-src");
                            ck.src=src;
                            ck.οnlοad=function(){
                                var _width=this.width>owidht?owidht:this.width,
                                    _height=this.height>oheight?oheight:this.height;
                                    Mycanvas.width=_width;
                                    Mycanvas.height=_height;
                                    _context.drawImage(this,0,0,_width,_height);
                           }
                            removeClass(opanel,"pon");
                            e.stopPropagation();   
                        })
                     };
              
              if(opanel){
                    addEvent(opanel,"click",function(e){
                          addClass(this,"pon");
                         _context.clearRect(0,0,owidht,oheight);
                          e.stopPropagation(); 
                    }) 
               }
              })()

    </script>


演示地址:http://runjs.cn/detail/xe32t5cu

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值