我在一个网站上工作,该网站使用 jquery 在任何窗口调整大小时更改字体大小,以将所有内容保持在正确的位置。它工作得很好,但是当某人的浏览器没有最大化时,字体仍然会加载,就像它一样,直到用户调整他们的浏览器大小。即使我让浏览器比页面加载时小,字体也会调整。这是我的代码:
$(document).ready(function() {
var mainwidth = $('.main').width();
var mainheight = $('.main').height(mainwidth * .8895);
var headerwidth = $('.header-middle').width();
$('.main').height(mainwidth * .8895)
$('.logo').width(headerwidth * .049);
$('.logo').height(headerheight * .7533);
$('.divider').width(headerwidth * .00204);
$('.design-image').width(headerwidth * .2547);
$('.call-us-today').css({'font-size': headerwidth * .01836});
$('.header-paragraph').css({'font-size': headerwidth * .01734});
$('.header-paragraph-footer').css({'font-size': headerwidth * .01632});
$('.top-text').css({'font-size': headerwidth * .02448});
$('.graybar-text').css({'font-size': headerwidth * .03265});
$('.body-header').css({'font-size': headerwidth * .02245});
$('.body-text').css({'font-size': headerwidth * .01632});
$('.footer').css({'font-size': headerwidth * .01224});
$('.banner-text').css({'font-size': headerwidth * .02244});
$('.graybar-text').css({'letter-spacing': headerwidth * .00408});
});
$(window).resize(function() {
var mainwidth = $('.main').width();
var mainheight = $('.main').height(mainwidth * .8895);
var headerwidth = $('.header-middle').width();
var headerheight = $('.header-middle').height();
$('.main').height(mainwidth * .8895);
$('.logo').width(headerwidth * .049);
$('.logo').height(headerheight * .7533);
$('.lady-image').width(headerwidth * .2835);
$('.divider').width(headerwidth * .00204);
$('.design-image').width(headerwidth * .2547);
$('.call-us-today').css({'font-size': headerwidth * .01836});
$('.header-paragraph').css({'font-size': headerwidth * .01734});
$('.header-paragraph-footer').css({'font-size': headerwidth * .01632});
$('.top-text').css({'font-size': headerwidth * .02448});
$('.graybar-text').css({'font-size': headerwidth * .03265});
$('.body-header').css({'font-size': headerwidth * .02245});
$('.body-text').css({'font-size': headerwidth * .01632});
$('.footer').css({'font-size': headerwidth * .01224});
$('.banner-text').css({'font-size': headerwidth * .02244});
$('.graybar-text').css({'letter-spacing': headerwidth * .00408});
});
是否在页面加载后才加载 document.ready?如有任何帮助,我们将不胜感激!
最佳答案
您可以通过稍微更改代码来做到这一点。只需采取
$(window).resize(function() {
位并将其更改为
$(window).resize(resizeMyStuff)
然后使用调整大小处理程序中的现有代码创建一个新函数。
function resizeMyStuff() {
var mainwidth = $('.main').width();
var mainheight = $('.main').height(mainwidth * .8895);
var headerwidth = $('.header-middle').width();
var headerheight = ... etc
这样,您可以在 $(document).ready 函数末尾调用该函数,从而在每次加载页面时设置大小。
你也可以使用
var browserWidth = $(window).width();
var browserHeight = $(window).height();
从页面元素获取窗口大小而不是依赖页面元素(这可能会受到某些奇怪的 css 继承或正在发生的事情的影响)。
关于javascript - 文本在小窗口中加载太大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18770615/