热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JQuery获得html元素被缩放的倍数

[javascript]/**获取el被缩放的倍数*/getZoomLeve:function(el){//标示缩放的css属性varzoomPer,undefinedPer'none';...SyntaxHighlighter.all();
[Javascript]  
/* 
         * 获取el被缩放的倍数 
         */  
        getZoomLeve : function(el) {  
            // 标示缩放的css属性  
            var zoomPer, undefinedPer = 'none';  
            if(S.UA['firefox']) {  
                zoomPer = '-moz-transform';  
            }   
            else if(S.UA['ie']) {  
                if(S.UA['ie'] == 9) {  
                    zoomPer = '-ms-transform';  
                } else {  
                    zoomPer = 'zoom';  
                    undefinedPer = 'normal';  
                }  
            }  
            else {  
                zoomPer = '-webkit-transform';  
            }  
            var ret = 1;  
            // 先计算元素在Iframe内部被缩放的大小  
            while(el.ownerDocument != document) {  
                ret *= getZoom(el);  
                var $ifrs = $('iframe'),  
                    curWin = el.ownerWindow,  
                    ifr;  
                S.each($ifrs, function(item) {  
                    try{  
                        if(item.cOntentWindow== curWin) {  
                            ifr = item;  
                            return false;  
                        }  
                    }catch(e) {  
                        // 捕获跨域访问的错误  
                    }  
                });  
                if(ifr) {  
                    el = ifr;  
                } else {  
                    break;                
                }  
            }  
            ret *= getZoom(el);  
            function getZoom(htmlEl) {  
                var ret = 1;  
                // 这里的add将el的缩放也计算在内  
                S.each($(htmlEl).parents().add($(htmlEl)),function(el) {  
                    if($(el).css(zoomPer) && $(el).css(zoomPer)!=undefinedPer) {  
                        if(S.UA[&#39;ie&#39;] && S.UA[&#39;ie&#39;]<9) {  
                            ret *= el.style.zoom;  
                        } else {  
                            var temp = $(el).css(zoomPer),  
                                start = temp.indexOf(&#39;(&#39;) + 1,  
                                end = temp.indexOf(&#39;,&#39;);  
                            ret *= temp.substring(start, end);  
                        }  
                    }  
                });  
                return ret;  
            }  
              
            return ret;  
        }  
 

推荐阅读
author-avatar
陈哲瑋66832
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有