Min-width:Div的最小宽度全兼容的实现

前端设计 68 comments
以下这段JS代码已经可以很好的支持IE6下的最大最小宽度问题。
也不用担心css的合法性。

// minmax.js: make IE5+/Win support CSS min/max-width/height
// version 1.0, 08-Aug-2003
// written by Andrew Clover , use freely

@cc_on
@if (@_win32 && @_jscript_version>4)

var minmax_elements;

minmax_props= new Array(
new Array('min-width', 'minWidth'),
new Array('max-width', 'maxWidth'),
new Array('min-height','minHeight'),
new Array('max-height','maxHeight')
);

// Binding. Called on all new elements. If , initialise; check all
// elements for minmax properties

function minmax_bind(el) {
var i, em, ms;
var st= el.style, cs= el.currentStyle;

if (minmax_elements==window.undefined) {
// initialise when body element has turned up, but only on IE
if (!document.body || !document.body.currentStyle) return;
minmax_elements= new Array();
window.attachEvent('onresize', minmax_delayout);
// make font size listener
em= document.createElement('div');
em.setAttribute('id', 'minmax_em');
em.style.position= 'absolute'; em.style.visibility= 'hidden';
em.style.fontSize= 'xx-large'; em.style.height= '5em';
em.style.top='-5em'; em.style.left= '0';
if (em.style.setExpression) {
em.style.setExpression('width', 'minmax_checkFont()');
document.body.insertBefore(em, document.body.firstChild);
}
}

// transform hyphenated properties the browser has not caught to camelCase
for (i= minmax_props.length; i-->0;)
if (cs[minmax_props[i][0]])
st[minmax_props[i][1]]= cs[minmax_props[i][0]];
// add element with properties to list, store optimal size values
for (i= minmax_props.length; i-->0;) {
ms= cs[minmax_props[i][1]];
if (ms && ms!='auto' && ms!='none' && ms!='0' && ms!='') {
st.minmaxWidth= cs.width; st.minmaxHeight= cs.height;
minmax_elements[minmax_elements.length]= el;
// will need a layout later
minmax_delayout();
break;
} }
}

// check for font size changes

var minmax_fontsize= 0;
function minmax_checkFont() {
var fs= document.getElementById('minmax_em').offsetHeight;
if (minmax_fontsize!=fs && minmax_fontsize!=0)
minmax_delayout();
minmax_fontsize= fs;
return '5em';
}

// Layout. Called after window and font size-change. Go through elements we
// picked out earlier and set their size to the minimum, maximum and optimum,
// choosing whichever is appropriate

// Request re-layout at next available moment
var minmax_delaying= false;
function minmax_delayout() {
if (minmax_delaying) return;
minmax_delaying= true;
window.setTimeout(minmax_layout, 0);
}

function minmax_stopdelaying() {
minmax_delaying= false;
}

function minmax_layout() {
window.setTimeout(minmax_stopdelaying, 100);
var i, el, st, cs, optimal, inrange;
for (i= minmax_elements.length; i-->0;) {
el= minmax_elements[i]; st= el.style; cs= el.currentStyle;

// horizontal size bounding
st.width= st.minmaxWidth; optimal= el.offsetWidth;
inrange= true;
if (inrange && cs.minWidth && cs.minWidth!='0' && cs.minWidth!='auto' && cs.minWidth!='') {
st.width= cs.minWidth;
inrange= (el.offsetWidth }
if (inrange && cs.maxWidth && cs.maxWidth!='none' && cs.maxWidth!='auto' && cs.maxWidth!='') {
st.width= cs.maxWidth;
inrange= (el.offsetWidth>optimal);
}
if (inrange) st.width= st.minmaxWidth;

// vertical size bounding
st.height= st.minmaxHeight; optimal= el.offsetHeight;
inrange= true;
if (inrange && cs.minHeight && cs.minHeight!='0' && cs.minHeight!='auto' && cs.minHeight!='') {
st.height= cs.minHeight;
inrange= (el.offsetHeight }
if (inrange && cs.maxHeight && cs.maxHeight!='none' && cs.maxHeight!='auto' && cs.maxHeight!='') {
st.height= cs.maxHeight;
inrange= (el.offsetHeight>optimal);
}
if (inrange) st.height= st.minmaxHeight;
}
}

// Scanning. Check document every so often until it has finished loading. Do
// nothing until arrives, then call main init. Pass any new elements
// found on each scan to be bound

var minmax_SCANDELAY= 500;

function minmax_scan() {
var el;
for (var i= 0; i el= document.all[i];
if (!el.minmax_bound) {
el.minmax_bound= true;
minmax_bind(el);
} }
}

var minmax_scanner;
function minmax_stop() {
window.clearInterval(minmax_scanner);
minmax_scan();
}

minmax_scan();
minmax_scanner= window.setInterval(minmax_scan, minmax_SCANDELAY);
window.attachEvent('onload', minmax_stop);

@end @

to "Min-width:Div的最小宽度全兼容的实现 "

  1. wowpowerlevel Says:

    wowpowerlevel107

  2. wowpowerlevel Says:

    wow powerlevel107

  3. ILVwowpowerlevel Says:

    woaiwow powerlevel107

  4. 杭州装饰 Says:

    杭州装饰107

  5. 水泵 Says:

    这事我家的水泵油泵107

  6. 真人百家乐 Says:

    菲律宾太阳城真人娱乐场,真人荷官发牌,娱乐与公证性并存,提供在线免费开户,自助提款,太阳城真人百家乐,斗地主,德州扑克,麻雀牌九,龙虎,大小,梭哈,三公...网站:Http://www.669suncity.com...24小时客服热线:13711111856免费热线:4006866092QQ:3380863107

  7. seo Says:

    http://www.seokey.com.cn107

  8. zjldjz Says:

    zjldjz107

  9. jianshi Says:

    yejingjianshiqi107

  10. jianshi Says:

    yejingjianshiqi107

  11. kypass Says:

    kypass107

  12. jianshiq Says:

    jianshiq107

  13. cisco交换机 Says:

    cisco交换机107

  14. cisco交换机 Says:

    cisco交换机107

  15. 北京T恤 Says:

    北京T恤107

  16. 雷蒙磨 Says:

    雷蒙磨107

  17. 钢格板 Says:

    钢格板107

  18. cisco交换机 Says:

    cisco交换机107

  19. cisco交换机 Says:

    cisco交换机107

  20. abjdaiyun Says:

    abjdaiyun107

  21. czdsjj Says:

    常州办公家具107

  22. 64356666 Says:

    64356666107

  23. tongy Says:

    tongy107

  24. 代孕 Says:

    代孕107

  25. 代孕 Says:

    代孕107

  26. 变频器 Says:

    变频器107

  27. 钢格板 Says:

    钢格板107

  28. 变频器 Says:

    变频器107

  29. 氧化锌 Says:

    氧化锌107

  30. jiaoban Says:

    jiaoban107

  31. 回转窑 Says:

    回转窑107

  32. 制砖机 Says:

    制砖机107

  33. 制砖机 Says:

    制砖机107

  34. 加气砼设备 Says:

    加气砼设备107

  35. 保温材料 Says:

    保温材料107

  36. Coco Says:

    TheGucciTribecaMediumShoulderBagisadisaster.Ofepicproportions.Andthat’scomingfromsomeonethatnormallyreallylikesGucci,evenwhentheygetabitwackywiththeirdesigns.Iusuallyunderstandwhatthey’reupto,buthere…therejustarenowords.It’sabigbagwithaskinny,tinystrap-badproportions!It’sgotatexturedheartinsetplacedrandomlyonthefront-icky!Andit’sgotabigol’tattoodesigninthetraditionofthegeniuses(andIsaythatfacetiously)overatEdHardyrightsmackdabinthemiddle.Eww.I’veheardrumblingsofunhappinesswiththeCruisecollectionoverinourGuccisectionontheforum,butIfigureditwouldstillhavesomeredeemingqualitiestomostofthebags.Someofthemaren’tsobad,butthis?Thisisbad.Isaythisoutoflove,Gucci.Iwantyoutomakebeautifulthings.Soplease,forSpring,tryharder.But,ifyoudisagree,buythroughSaksfor$1,395.107

  37. 婚纱摄影 Says:

    婚纱摄影107

  38. 钢格板 Says:

    钢格板107

  39. 代孕 Says:

    代孕107

  40. Kon Says:

    While[URL=http://eluxurycity.com/jimmy-choo-c-58.html]JimmyChooHandbags[URL]gotonthemapforhisshoes,JimmyChoobagshaveinstantlymadeanameforthemselves.OneofthefavoritesistheJimmyChooRamonaPatentBagwhichhasquicklybecomeastapleofthehouse.Andthisbagcanbeyours,forfree,thismonth!PurseBloghasteamedupwithNetAPortertobringyouafabulousJimmyChoogiveaway!TheJimmyChooRamonabagisalargeeverydaybag,greatforworkorall-daywear.Thisversionismadewithtaupecrushedpatentleather,whichwillglimmerjustrightforfall.Thereispalegoldhardwareanddoublehandles.Theinsideisquiteatreat;suedeliningwithlilactrim.107

  41. 设计公司 Says:

    设计公司107

  42. 衡器 Says:

    衡器107

  43. 衡器 Says:

    衡器107

  44. 隆鼻 Says:

    隆鼻107

  45. 衡器 Says:

    衡器107

  46. 监视器 Says:

    监视器107

  47. ssss Says:

    ddddddd107

  48. 婚纱摄影 Says:

    婚纱摄影107

  49. 专业化妆学校 Says:

    专业化妆学校107

  50. 代孕 Says:

    代孕107

  51. 水性漆 Says:

    水性漆107

  52. 资产管理软件 Says:

    资产管理软件107

  53. 玻璃瓶 Says:

    玻璃瓶107

  54. 玻璃瓶 Says:

    玻璃瓶107

  55. 自动洗车机 Says:

    自动洗车机107

  56. 车库门 Says:

    车库门107

  57. 专业化妆学校 Says:

    专业化妆学校|107

  58. 代孕 Says:

    代孕107

  59. 风湿 Says:

    风湿107

  60. 太阳城网上娱乐 Says:

    站:Http://www.881suncity.net...24小时客服热线:15018581000太阳城百家乐.百家乐开户.真人百家乐.菲律宾太阳城.菲律宾太阳城百家乐.菲律宾真人百家乐.在线百家乐.真人百家乐.网络百家乐.在线百家乐.百家乐论坛网.百家乐代理.澳门百家乐现场.澳门百家乐经验.百家乐玩法.澳门百家乐经验.百家乐规则.太阳城.太阳城.在线百家乐太阳城.太阳城百家乐经验.太阳城百家乐玩法107

  61. 气体检测仪 Says:

    气体检测仪107

  62. 卷帘门 Says:

    卷帘门107

  63. 工业门 Says:

    工业门107

  64. 卷帘门 Says:

    卷帘门107

  65. 伸缩门 Says:

    伸缩门107

  66. 卷帘门 Says:

    卷帘门107

  67. pipingproducers Says:

    pipingproducers107

  68. 北京建材展会 Says:

    北京建材展会107

Leave a Reply

Powered By Z-Blog,Theme & Icons by N.Design Studio.
Entries RSS Comments RSS Login
Copyright Yeah.org.cn. Some Rights Reserved.