zoukankan      html  css  js  c++  java
  • js 图片点击放大功能

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8"/>
        <meta http-equiv="X-UA-Compatible" content="IE=edge;chrome=1"/>
        <title>loading</title>
    </head>
    <body>
        <a href="javascript:;" rel="http://www.zuixiaoyao.test/images/v2/index/header.jpg" id="fas" style="display:block;" onclick="creatediv(this)">
            <img src="erweima.jpg" />
        </a>
    </body>
    </html>
    <script>
        function getPos(element){
            if ( arguments.length != 1 || element == null ) { 
                return null; 
            } 
            var offsetTop = element.offsetTop; 
            var offsetLeft = element.offsetLeft; 
            var offsetWidth = element.offsetWidth; 
            var offsetHeight = element.offsetHeight; 
            while( element = element.offsetParent ) { 
                offsetTop += element.offsetTop; 
                offsetLeft += element.offsetLeft; 
            }
            return { absoluteTop: offsetTop, absoluteLeft: offsetLeft, 
                offsetWidth: offsetWidth, offsetHeight: offsetHeight }; 
        }
        function creatediv(elm){
            var deld = document.getElementById('version_sz_h');
            if(deld && deld.parentNode && deld.tagName != 'BODY'){  
                deld.parentNode.removeChild(deld);  
            }  
            var div = document.createElement('div');
            var pos = getPos(elm);
            div.id = 'version_sz_h';
            div.style.position = 'absolute';
            div.style.zIndex = 99999;
            div.style.top = pos.absoluteTop +'px';
            div.style.left = pos.absoluteLeft +'px';
            div.style.width = '35px';
            div.style.height = '35px';
            var img = '<img src="loading.gif" width="35px" height="35px"/>';
            div.innerHTML = img;
            var image = new Image();
            image.onload = function(){
                var w = this.width;
                var h = this.height;
                var b = w/h;//>1 宽屏图片 <1 长形图片
                div.innerHTML = '<img src="'+ elm.getAttribute('rel') +'" width="100%" height="100%" style="cursor:pointer;" id="hoverImg"/>';
                var Lw = 0;
                var Lh = 0;
                var timer = setInterval(function(){
                    if(b >= 1){//宽屏 
                        Lh += 10;
                        Lw += 10*b;
                    }else{
                        Lw += 10;
                        Lh += 10*b;
                    }
                    if((Lh+35) >= h && (Lw+35) >= w){
                        div.style.width = w + 'px';
                        div.style.height = h + 'px';
                        window.clearInterval(timer);
                    }else{
                        div.style.width = 35 + Lw +'px';
                        div.style.height = 35 + Lh +'px';
                    }
                },10);
                var imgBox = document.getElementById('hoverImg');
                var flag = 1;
                imgBox.onclick = function(){
                    if(flag){
                        var Lh = h;
                        var Lw = w;
                        var timer1 = setInterval(function(){
                            if(b >= 1){//宽屏 
                                Lh -= 10;
                                Lw -= 10*b;
                            }else{
                                Lw -= 10;
                                Lh -= 10*b;
                            }
                            if(Lh <= 0 && Lw <= 0){
                                div.style.width = '0px';
                                div.style.height = '0px';
                                window.clearInterval(timer1);
                                    if(div && div.parentNode && div.tagName != 'BODY'){  
                                        div.parentNode.removeChild(div);  
                                    }  
                            }else{
                                div.style.width = Lw +'px';
                                div.style.height = Lh +'px';
                            }
                        },10);
                        flag = 0;
                    }
                }
            }
            image.src = elm.getAttribute('rel');
            document.body.appendChild(div);
        }
    </script>
  • 相关阅读:
    boost::VS2017下编译和配置boost库
    cmake::编译一个工程
    cmake::helloworld
    python模块之urllib
    Python报错:UnicodeEncodeError 'gbk' codec can't encode character
    word页眉添加横线与删除横线
    练习五十九:字典排序
    练习五十八:列表的练习
    练习五十七:for循环 809??=800*?+9*?+1其中?代表的两位数,8*?的结果为两位数,9*?的结果为3位数。求?代表的两位数,及809??后的结果
    windows查看网络常用cmd命令
  • 原文地址:https://www.cnblogs.com/shizhouyu/p/5066405.html
Copyright © 2011-2022 走看看