将脚本移动到外部文件

时间:2016-10-12 16:11:22

标签: javascript

我是js的新手。还没有完全填写js。我在堆栈上搜索并发现类似的问题,但这个解决方案对我不起作用。 我在index.html中有代码

<script>
$(document).ready(function () { 
var elements = document.querySelectorAll(".well"),
heights = [];
/* Getting an array with the heights */
[].forEach.call(elements, function (each) { 
heights[heights.length] = getComputedStyle(each, null).getPropertyValue("height"); 
});
/* Sorting the array to get the greatest value first */
heights.sort(function (a, b) { 
return parseFloat(b) - parseFloat(a); 
});
/* Applying the greatest height to each element */ 
[].forEach.call(elements, function (each) { 
each.style.height = heights[0]; 
});
});

现在我想把它移到外部文件中,不仅要使用一次。 所以我用代码

创建文件:layout.js
function equalHeightClass(object) {
"use strict";
var
    elements = document.querySelectorAll(object),
    heights = [];

/* Getting an array with the heights */
[].forEach.call(elements, function (each) {
    heights[heights.length] = getComputedStyle(each, null).getPropertyValue("height");
});

/* Sorting the array to get the greatest value first */
heights.sort(function (a, b) {
    return parseFloat(b) - parseFloat(a);
});

/* Applying the greatest height to each element */
[].forEach.call(elements, function (each) {
    each.style.height = heights[0];
});
}

并在索引I上放置

<script src="js/layout.js"></script>
<script>
    $(document).ready(function () {
        equalHeightClass(.btn);
        equalHeightClass(.well);
    });
</script>

但这不起作用,我试着用引号,没有,仍然不知道哪里出错。

2 个答案:

答案 0 :(得分:0)

记录在:

<script>
    $(document).ready(function () {
        equalHeightClass('.btn');
        equalHeightClass('.well');
    });
</script>

您将需要参数的引号,因为在这种情况下,您将在querySelectorAll中使用该值,这需要它们。

您是否在调试器中显示任何控制台错误?它以什么方式不起作用?

答案 1 :(得分:0)

一切正常,路径正确。 我在调用函数时输错误码。现在我学会了保留函数名称siple。