语言: jQuery
我在页面上有一堆DIV 每次窗口调整大小时,我都会尝试更改绝对位置(顶部/左侧属性)(使它们与视口成比例,同时保持其原始布局)。
我成功地改变了宽度和宽度。我的DIV的高度(但这不是我的顾虑,更不用说了,因为我要通过媒体查询改变字体+宽度和高度),我主要担心的是无法调整这些DIV的上/下定位。
我几乎在那里,但无法弄清楚如何使这项工作?
用户 Chris Barr played with this for a bit,但未能走得太远:
以下是我正在使用的Javascript:
$(document).ready(function() {
// THIS GETS WIDTH OF CONTAINER
var cw = $('#container').width();
// THIS GETS ORIGINAL FONT SIZE
var fontSize = $('.box').css('font-size');
// THIS GETS ORIGINAL ABSOLUTE POSITION OF DIV
var left = $('.box').css('left');
$(".box").width(cw / 5).height(cw / 5);
$('.box').css("font-size", fontSize / 5 + "px");
$('.box').css("left", left / 5 + "px");
$(window).resize(function() {
// THIS GETS WIDTH OF CONTAINER
var cw = $('#container').width();
// THIS GETS ORIGINAL FONT SIZE
var fontSize = $('.box').css('font-size');
// THIS GETS ORIGINAL ABSOLUTE POSITION OF DIV
var left = $('.box').css('left');
$(".box").width(cw / 5).height(cw / 5);
$('.box').css("font-size", fontSize / 5 + "px");
$('.box').css("left", left / 5 + "px");
});
});
你可以在这里查看它 - jsFiddle: http://jsfiddle.net/kjvSc/1/
任何帮助&非常感谢指导!
答案 0 :(得分:1)
这是我能够提出的:http://jsfiddle.net/kjvSc/3/
问题在于:
$('.box').css('font-size');
以上返回16px。你不能将16px除以2.你必须将16除以2,然后加上px。
我建议您在CSS中使用媒体查询,而不是尝试使用jQuery。这样,你的jQuery会根据高度/宽度进行更新,并且根据它们设置的内容,您的媒体查询会启动并更新字体大小。
答案 1 :(得分:1)
就像@Jiskiras所说的那样,它会返回一个字符串像素值16px
,而你只想取出数字16
。
所以,简短的回答就是这样做:parseInt($('.box').css('font-size'));
编辑:我尝试了一下你的小提琴,但我没有走得太远:http://jsfiddle.net/kjvSc/4/