code_junkie

Fixed font size in firefox?

Nov 13th, 2011
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.90 KB | None | 0 0
  1. updateBaseFontSize : function(fontSize,reloadBool){
  2. /*Format 1 is fed from the plug; format2 is the body size equiv
  3. *examples:
  4. *Frmt 1 (all/IE) | Frmt 2 (all/IE)
  5. *20/18 | 16px/16px
  6. *21/21 | 17.6px/19px
  7. *22/23 | 19.2px/22px
  8. *
  9. *Purpose of updateBaseFontSize is:
  10. * 1. convert format 1 figures to format 2
  11. * 2. modify the all containing div 'fontbodyreadjust'
  12. * to compensate for the new user defined body font size
  13. */
  14.  
  15. var format1Base;
  16. var format1Size = fontSize; //equals new size in pixels
  17. var reloadPage = reloadBool; //prevents reload on 1st visit
  18.  
  19. var baseConverter;
  20. var changeConverter;
  21.  
  22. if ($('body').hasClass('browserIE')) {
  23. format1Base = 19; //expected base size value for IE
  24. baseConverter=16/19; //converts from format 1 to 2 for IE
  25. changeConverter=1.5; //ditto for the difference from base size for IE
  26. } else {
  27. format1Base = 20;//expected base size value for all other browsers
  28. baseConverter=16/20; //converts from format 1 to 2 for all others
  29. changeConverter=1.6; //ditto for the difference from base size for all others
  30. }
  31.  
  32.  
  33. //Find modifiedSize, how much to compensate for the new body size
  34. var format2Base = format1Base * baseConverter;
  35.  
  36. var format2SizeChange = (format1Size-format1Base)*changeConverter;
  37. var format2NewSize = format2SizeChange + format2Base;
  38.  
  39. var modifiedSize = format2Base/format2NewSize;
  40.  
  41.  
  42. //Allow text resizing for shrinking text and very very large text
  43. //Only works for safari. meant to prevent odd behavior at math extremes
  44. if ((format2NewSize >= format2Base)&&(modifiedSize>.6)){
  45. $('#fontbodyreadjust').css('font-size',modifiedSize+'em');
  46. }
  47.  
  48. //reloadPage boolean in place so that reload doesn't occur on first visit
  49. if (reloadPage){
  50. window.location.reload()
  51. }
  52. },
  53.  
  54. initHome : function(){
  55.  
  56.  
  57. // UNHIDE HOME PAGE CONTENT AFTER IT'S LOADED. OTHERWISE, LAYERED AND MESSY
  58. $('#slider').css('display', 'block');
  59.  
  60.  
  61. // PREVENT VARIOUS USER BROWSER-FONT RESIZE SCENARIOS
  62. // Note: irrelevant for browsers that zoom all elements simultaneously
  63. window.initFontResizeDetector = function(){
  64. var iBase = TextResizeDetector.addEventListener(onFontResize,null);
  65.  
  66. //Don't run the updateBaseFontSize if font size is not larger than usual
  67. if (iBase>20){
  68. var reloadBoolean = false;
  69. window.updateBaseFontSize(iBase,reloadBoolean);
  70. }
  71. }
  72.  
  73. //id of element to check for and insert control
  74. TextResizeDetector.TARGET_ELEMENT_ID = 'bodyContent';
  75. //function to call once TextResizeDetector has init'd
  76. TextResizeDetector.USER_INIT_FUNC = window.initFontResizeDetector;
  77.  
  78. window.onFontResize = function(e,args) {
  79. var iSize = args[0].iSize; //get new user defined size
  80. // var iDelta = args[0].iDelta; //get new user defined size
  81. // var iBase = args[0].iBase; //get new user defined size
  82. var reloadBoolean = true;
  83. // console.log(iSize,iDelta,iBase);
  84. window.updateBaseFontSize(iSize,reloadBoolean);
  85. }
Add Comment
Please, Sign In to add comment