日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VML简单封装

發布時間:2023/12/16 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VML简单封装 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

    • 兼容說明
    • 封裝代碼
    • 使用示例

兼容說明

兼容IE6-IE8

封裝代碼

(function(win, doc){win.vmlEnable = (function () {return function () {return !+"\v1";}})();if (!win.vmlEnable() || win.sunuiVml) {return;}if (!doc.namespaces["sunui-vml"]){doc.createStyleSheet().addRule(".sunui-vml", "behavior:url(#default#VML);display:inline-block;");doc.namespaces.add("sunui-vml", "urn:schemas-microsoft-com:vml");}win.sunuiVml = function(name){return new SunuiVml().create(name || "rect");};function SunuiVml () {}SunuiVml.prototype = {create : function(name){this.node = doc.createElement('<sunui-vml:' + name + ' class="sunui-vml">');return this;},appendTo: function(parent){if(this.node && parent.nodeType === 1){parent.appendChild(this.node);}return this;},attr : function(bag){for(var i in bag){if(bag.hasOwnProperty(i)){this.node.setAttribute(i,bag[i])}}return this;},css: function(bag){for(var i in bag){if(bag.hasOwnProperty(i)) {if (i === 'opacity') {this.node.style.filter = 'alpha(opacity='+ bag[i] * 100 + ')';} else {this.node.style[i] = bag[i];}}}return this;},hasClass: function (cls) {cls = cls || '';if ((cls = cls.replace(/\s/g, '')).length === 0) return false;return new win.RegExp(' ' + cls + ' ').test(' ' + (this.node.className || '').replace(/[\t\r\n]/g, '') + ' ');},addClass: function (cls) {var clss = null;var clazz = null;if (typeof cls === 'function') {cls = cls();}if (!cls) {return this}cls = cls.replace(/(^\s*)|(\s*$)/g, '');if (!cls) {return this}clss = cls.split(/\s+/g);clazz = (this.node.className || '').replace(/(^\s*)|(\s*$)/g, '').replace(/[\t\r\n]/g, '').split(/\s+/g);for (var i = 0; i < clss.length; i++) {if (!this.hasClass(clss[i])) {clazz.push(clss[i])}}this.node.className = clazz.join(" ");return this;},removeClass: function (cls) {var clss = null;var clazz = '';if (typeof cls === 'function') {cls = cls();}if (!cls) {return this}cls = cls.replace(/(^\s*)|(\s*$)/g, '');if (!cls) {return this}clss = cls.split(/\s+/g);clazz = ' ' + this.node.className.replace(/[\t\r\n]/g, '') + ' ';for (var i = 0; i < clss.length; i++) {if (this.hasClass(clss[i])) {while (clazz.indexOf(' ' + clss[i] + ' ') >= 0) {clazz = clazz.replace(' ' + clss[i] + ' ', ' ');}}}clazz = clazz.replace(/^\s+|\s+$/g, '').replace(/\s+/g, ' ');this.node.className = clazz;return this;}} })(window, document);

使用示例

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>IE6-IE8 VML</title> </head> <body style="background: #Fc0e4c"><div id="dd" style="position: relative;width: 200px;height: 100px;border: 1px solid #35FF87"></div> </body> </html> window.onload = function () {if (vmlEnable()) {var re = sunuiVml("roundrect").css({width:"200px",height:"100px", margin: '-1px 0 0 -1px'}).attr({fillcolor:"#FFFF00", filled: true, stroked: true, strokeweight: '1px'}).appendTo(document.getElementById('dd')).css({height: '120px'});re.css({rotation: 30});re.node.innerHTML = '<div style="width: 100px;height: 30px;background: #FF00FF;">測試</div>';sunuiVml("oval").css({position:"relative",left:'5px',top:'20px',width:"12px",height:'12px'}).attr({strokecolor:"blue", filled: false, strokeweight: '1px'}).appendTo(document.body);} }

總結

以上是生活随笔為你收集整理的VML简单封装的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。