[英]How to pass an object's method as a parameter to another function in Javascript
[英]jQuery / javascript - trying to pass an object's function as a parameter to a function
我试图根据与其他用户数据相比不同的百分比,为不同的列设置可调高度。
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
,然后根据与具有最高分数的人相比的百分比值来设置他们的高度。 EG我有十分,你有三分,我会100分,你会是3.我然后使用jQuery将其转换为%并尝试根据百分比调整单个ID的大小。
出于某种原因,当我在实际页面上执行此操作时,没有任何显示。 出了什么问题? 我假设它与jQuery有关,因为正常的javascript做得很好。
你有一个拼写错误:
$boaz = boaz.getHeigt() + '%'
应该是:
$boaz = boaz.getHeight() + '%'
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;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.