【发布时间】:2013-06-23 00:57:54
【问题描述】:
我刚从 JavaScript/jQuery 开始,我发现语法仍然有点压倒性。写几行代码需要几个小时。我想知道您是否可以指出正确的方向以使这段代码更聪明。
我有一个类似下面的代码来设置 div 的垂直对齐方式。我尝试做一个数组,然后迭代i++ 来存储值,然后进行数学运算,但我在找到正确的语法以使其工作时遇到问题。我什至不确定两个数组是否是同时计算 5 个不同值的好结构。我试过了:
$('[id^=#tr1]').css({top : ratio+'%'});
然后:
var buttonheight = $this.height
然后我尝试为另一个 div 这样做。我将在明天早上继续阅读并阅读更多内容,但我认为有人可以在这里给我一些帮助。这不是必需的,因为我的代码可以工作,但我想学习正确地做事。
function setAbsolutePosition()
{
var button1height= $("#buttonbg1").height();
var button2height= $("#buttonbg2").height();
var button3height= $("#buttonbg3").height();
var button4height= $("#buttonbg4").height();
var button5height= $("#buttonbg5").height();
var text1height=$("#tr1").height();
var text2height=$("#tr2").height();
var text3height=$("#tr3").height();
var text4height=$("#tr4").height();
var text5height=$("#tr5").height();
var ratio1 = 50-((text1height-1)/button1height/2*100);
var ratio2 = 50-((text2height-1)/button2height/2*100);
var ratio3 = 50-((text3height-1)/button3height/2*100);
var ratio4 = 50-((text4height-1)/button4height/2*100);
var ratio5 = 50-((text5height-1)/button5height/2*100);
$("#tr1").css({top : ratio1+'%'});
$("#tr2").css({top : ratio2+'%'});
$("#tr3").css({top : ratio3+'%'});
$("#tr4").css({top : ratio4+'%'});
$("#tr5").css({top : ratio5+'%'});
}
【问题讨论】:
-
FWIW:
$('#x')应该等同于$('[id="x"]')-#是 ID 选择器的一部分,但 不是 实际上是 ID 值的一部分本身。