×î½üÒ»Ö±ÔÚÑжÁ jQuery Ô´Â룬³õ¿´Ô´ÂëһͷÎíË®ºÁÎÞÍ·Ð÷£¬ÕæÕý¾²ÏÂÐÄÀ´Ï¸¿´Ð´µÄÕæÊǾ«ÃÈÃÄã¸Ð̾´úÂëÖ®ÃÀ¡£
Æä½á¹¹Ã÷Îú£¬¸ßÄÚ¾Û¡¢µÍñîºÏ£¬¼æ¾ßÓÅÐãµÄÐÔÄÜÓë±ãÀûµÄÀ©Õ¹ÐÔ£¬ÔÚä¯ÀÀÆ÷µÄ¼æÈÝÐÔ£¨¹¦ÄÜȱÏÝ¡¢½¥½øÔöÇ¿£©ÓÅÑŵĴ¦ÀíÄÜÁ¦ÒÔ¼° Ajax µÈ·½ÃæÖܵ½¶øÇ¿´óµÄ¶¨Öƹ¦ÄÜÎÞ²»ÁîÈ˾ªÌ¾¡£
ÁíÍ⣬ÔĶÁÔ´ÂëÈÃÎÒ½Ó´¥µ½ÁË´óÁ¿µ×²ãµÄ֪ʶ¡£¶ÔÔÉúJS ¡¢¿ò¼ÜÉè¼Æ¡¢´úÂëÓÅ»¯ÓÐÁËȫеÄÈÏʶ£¬½ÓÏÂÀ´½«»áдһϵÁйØÓÚ jQuery ½âÎöµÄÎÄÕ¡£
ÎÒÔÚ github ÉϹØÓÚ jQuery Ô´ÂëµÄÈ«ÎÄ×¢½â£¬¸ÐÐËȤµÄ¿ÉÒÔΧ¹Ûһϡ£jQuery v1.10.2 Ô´Âë×¢½â ¡£
ÑÔ¹éÕý´«£¬±¾ÎĽ²µÄÊÇÔÉú JS »ñÈ¡¡¢ÉèÖÃÔªËØ×îÖÕÑùʽµÄ·½·¨¡£¿ÉÄÜƽʱ¿ò¼ÜʹÓÃÏ°¹ßÁË£¬ÒÔ jQuery ΪÀý£¬Ê¹Óà .css() ½Ó¿Ú¾ÍÄܱã½ÝµÄÂú×ãÎÒÃǵÄÒªÇó¡£ÔÙ¿´¿´½ñÌìÒª½²µÄ window.getComputedStyle £¬¾ÍÏñ¸Õ½Ó´¥ JS µÄʱºò£¬¿´µ½ document.getElementById Ò»Ñù£¬Ãû×Ö¶¼Õâô³¤£¬¶ÙÉúÇÓÒâ¡£²»¹ýĪ»Å£¬ÎÒ¾õµÃÈç¹ûÎÒÃDz»ÊÇÖ»Ïë×öÒ»¸ö»ì·¹³ÔµÄÇ°¶Ë£¬ÄÇôԽÊǵײãµÄ¶«Î÷£¬Èç¹ûÄܹ»³Ô͸Ëü£¬Ô½ÊÇÄÜÈÃÈ˽ø²½¡£
getComputedStyle ΪºÎÎïÄØ£¬DOM ÖÐ getComputedStyle ·½·¨¿ÉÓÃÀ´»ñÈ¡ÔªËØÖÐËùÓпÉÓõÄcssÊôÐÔÁÐ±í£¬ÒÔÊý×éÐÎʽ·µ»Ø£¬²¢ÇÒÊÇÖ»¶ÁµÄ¡£IE678 ÖÐÔòÓà currentStyle ´úÌæ ¡£
¼ÙÉèÎÒÃÇÒ³ÃæÉÏ´æÔÚÒ»¸ö id Ϊ id µÄÔªËØ£¬ÄÇôʹÓà getComputedStyle »ñÈ¡ÔªËØÑùʽ¾ÍÈçÏÂͼËùʾ£º
// Óï·¨£º // Ôھɰ汾֮ǰ£¬µÚ¶þ¸ö²ÎÊý“αÀà”ÊDZØÐèµÄ£¬ÏÖ´úä¯ÀÀÆ÷ÒѾ²»ÊDZØÐè²ÎÊýÁË // Èç¹û²»ÊÇαÀ࣬ÉèÖÃΪnull£¬ window.getComputedStyle("ÔªËØ", "αÀà");
³¢ÊÔÒ»ÏÂÖ®ºó¿ÉÒÔ¿´µ½£¬window.getComputedStyle »ñÈ¡µÄÊÇËùÓеÄÑùʽ£¬Èç¹ûÎÒÃÇÖ»ÊÇÒª»ñÈ¡µ¥Ò»Ñùʽ£¬¸ÃÔõô×öÄØ¡£Õâ¸öʱºò¾ÍÒª½éÉÜÁíÒ»¸ö·½·¨ -- getPropertyValue ¡£
Ó÷¨Ò²ºÜ¼òµ¥£º
// Óï·¨£º // ʹÓà getPropertyValue À´Ö¸¶¨»ñÈ¡µÄÊôÐÔ window.getComputedStyle("ÔªËØ", "αÀà").getPropertyValue(style);
IE Ï嵀 currentStyle Óë getAttribute
˵Íê³£¹æä¯ÀÀÆ÷£¬ÔÙÀ´Ì¸Ì¸ÀÏÅóÓÑ IE £¬Óë getComputedStyle ¶ÔÓ¦£¬ÔÚ IE ÖÐÓÐ×Ô¼ºÌØÓÐµÄ currentStyle ÊôÐÔ£¬Óë getPropertyValue ¶ÔÓ¦£¬IE ÖÐʹÓà getAttribute ¡£
ºÍ getComputedStyle ·½·¨²»Í¬µÄÊÇ£¬currentStyle Òª»ñµÃÊôÐÔÃûµÄ»°±ØÐë²ÉÓÃÍÕ·åʽµÄд·¨¡£Ò²¾ÍÊÇÈç¹ûÎÒÐèÒª»ñÈ¡ font-size ÊôÐÔ£¬ÄÇô´«ÈëµÄ²ÎÊýÓ¦¸ÃÊÇ fontSize¡£Òò´ËÔÚIE ÖÐÒª»ñµÃµ¥¸öÊôÐÔµÄÖµ£¬¾Í±ØÐ뽫ÊôÐÔÃûתΪÍÕ·åÐÎʽ¡£
// IE ÏÂÓï·¨£º // IE Ͻ« CSS ÃüÃûת»»ÎªÍÕ·å±íʾ·¨ // font-size --> fontSize // ÀûÓÃÕýÔò´¦ÀíһϾͿÉÒÔÁË function camelize(attr) { // /\-(\w)/g ÕýÔòÄÚµÄ (\w) ÊÇÒ»¸ö²¶»ñ£¬²¶»ñµÄÄÚÈݶÔÓ¦ºóÃæ function µÄ letter // Òâ˼Êǽ« Æ¥Åäµ½µÄ -x ½á¹¹µÄ x ת»»Îª´óдµÄ X (x ÕâÀï´ú±íÈÎÒâ×Öĸ) return attr.replace(/\-(\w)/g, function(all, letter) { return letter.toUpperCase(); }); } // ʹÓà currentStyle.getAttribute »ñÈ¡ÔªËØ element µÄ style ÊôÐÔÑùʽ element.currentStyle.getAttribute(camelize(style));
style Óë getComputedStyle
±ØÐëÒªÌá³öµÄÊÇ£¬ÎÒÃÇʹÓà element.style Ò²¿ÉÒÔ»ñÈ¡ÔªËصÄCSSÑùʽÉùÃ÷¶ÔÏ󣬵«ÊÇÆäÓë getComputedStyle ·½·¨»¹ÊÇÓÐһЩ²îÒìµÄ¡£
Ê×ÏÈ£¬element.style ÊǿɶÁ¿ÉдµÄ£¬¶ø getComputedStyle Ϊֻ¶Á¡£
Æä´Î£¬element.style Ö»¿ÉÒÔ»ñÈ¡ style ÑùʽÉϵÄÊôÐÔÖµ£¬¶øÎÞ·¨µÃµ½ËùÓÐµÄ CSS Ñùʽֵ£¬Ê²Ã´Òâ˼ÄØ£¿»Ø¹ËһϠCSS »ù´¡£¬CSS Ñùʽ±íµÄ±íÏÖÓÐÈýÖÖ·½Ê½£¬
¶ø element.style Ö»ÄÜ»ñÈ¡±»ÕâЩÑùʽ±í¶¨ÒåÁ˵ÄÑùʽ£¬¶ø getComputedStyle ÄÜ»ñÈ¡µ½ËùÓÐÑùʽµÄÖµ£¨ÔÚ²»Í¬ä¯ÀÀÆ÷½á¹û²»Ò»Ñù£¬chrome ÖÐÊÇ 264£¬ÔÚ Firefox ÖÐÊÇ238£©£¬²»¹ÜÊÇ·ñ¶¨ÒåÔÚÑùʽ±íÖУ¬Æ©È磺
<style> #id{ width : 100px; float:left; } </style> var elem = document.getElementById('id'); elem.style.length // 2 window.getComputedStyle(elem, null).length // 264
getComputedStyle Óë defaultView
window.getComputedStyle »¹ÓÐÁíÒ»ÖÖд·¨£¬¾ÍÊÇ document.defaultView.getComputedStyle ¡£
Á½ÕßµÄÓ÷¨ÍêÈ«Ò»Ñù£¬ÔÚ jQuery v1.10.2 ÖУ¬Ê¹ÓõľÍÊÇ window.getComputedStyle ¡£ÈçÏÂ
Ò²ÓÐÌØÀý£¬²é¿´ stackoverflow £¬ÉÏÃæÌá¼°µ½ÔÚ Firefox 3.6 £¬²»Ê¹Óà document.defaultView.getComputedStyle »á³ö´í¡£²»¹ý±Ï¾¹ FF3.6 ÒѾËæÀúʷԶȥ£¬ÏÖÔÚ¿ÉÒÔ·ÅÐĵÄʹÓà window.getComputedStyle¡£
ÓÃÒ»ÕÅͼ×ܽáһϣº
ÔÉúJSʵÏÖCSSÑùʽµÄgetÓëset
˵ÁËÕâô¶à£¬½ÓÏÂÀ´½«ÓÃÔÉú JS ʵÏÖÒ»¸öС×é¼þ£¬ÊµÏÖ CSS µÄ get Óë set£¬¼æÈÝËùÓÐä¯ÀÀÆ÷¡£
ÍêÕûµÄ×é¼þ´úÂëÔÚÎÒµÄ github ÉÏ£¬´ÁÎÒÖ±½Ó¿´´úÂë¡£
getStyle(elem, style)
¶ÔÓÚ CSS µÄ set £¬¶ÔÓÚÖ§³Ö window.getComputedStyle µÄä¯ÀÀÆ÷¶øÑÔÊ®·Ö¼òµ¥£¬Ö»ÐèÒªÖ±½Óµ÷Óá£
getStyle: function(elem, style) { // Ö÷Á÷ä¯ÀÀÆ÷ if (win.getComputedStyle) { return win.getComputedStyle(elem, null).getPropertyValue(style); } }
·´Ö®£¬Èç¹ûÊÇ IE ä¯ÀÀÆ÷£¬ÔòÓÐһЩ¿Ó¡£
opacity ͸Ã÷¶ÈµÄÉ趨
¡¡