我试图根据与其他用户数据相比不同的百分比,为不同的列设置可调高度。
function Person(name, points) {
"use strict";
this.name = name;
this.points = points;
this.height = 0;
}
var daniel = new Person('Daniel', '2');
var boaz = new Person('Boaz', '4');
var josh = new Person('josh', '5');
Person.prototype.getHeight = function () {
"use strict";
var scores = [daniel.height, boaz.height, josh.height],
highest = 0,
i = 0;
for (i; i < scores.length; i += 1) {
if (scores[i] > highest) {
highest = scores[i];
}
}
this.height = String(this.points / highest);
return this.height;
};
$(document).ready(function () {
"use strict";
var $daniel = daniel.getHeight() + '%',
$boaz = boaz.getHeigt() + '%',
$josh = josh.getHeight + '%';
$('#daniel').height($daniel);
$('#boaz').height($boaz);
$('#josh').height($josh);
});
基本上所有这些代码都会创建具有不同点级别的三个不同person
,然后根据与得分最高的人相比的百分比值设置其高度。例如。我有十分,你有三分,我会100分,你会是3.我然后使用jQuery将其转换为%,并尝试根据百分比调整单个ID的大小。
出于某种原因,当我在实际页面上执行此操作时,没有任何内容出现。出了什么问题?我假设它与jQuery有关,因为普通的javascript运行正常。
答案 0 :(得分:1)
你这里有一个错字:
$boaz = boaz.getHeigt() + '%'
应该是:
$boaz = boaz.getHeight() + '%'
答案 1 :(得分:1)
var scores = [daniel.height, boaz.height, josh.height],
应该是
var scores = [daniel.points, boaz.points, josh.points],
右?
因为您使用%
,所以
this.height = String(this.points / highest);
应该是
this.height = this.points / highest * 100;