繁体   English   中英

jQuery / 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM