#javascript
#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];
});
}
и в индексе я размещаю
<script src="js/layout.js"></script>
<script>
$(document).ready(function () {
equalHeightClass(.btn);
equalHeightClass(.well);
});
</script>
но это не работает, я пытаюсь с кавычками, без, до сих пор не знаю, где ошибка.
Комментарии:
2. Что такое
.btn
и.well
должно быть? Вы нигде их не определяете. Также ваш layout.js файл действительно находится во вложенной папке «js»?3. Я уверен, что в вашей консоли разработчика есть сообщение об ошибке….
Ответ №1:
Для записи, в:
<script>
$(document).ready(function () {
equalHeightClass('.btn');
equalHeightClass('.well');
});
</script>
Вам понадобятся кавычки для параметров, потому что в этом случае вы будете использовать это значение в querySelectorAll, которое требует их.
Есть ли у вас какие-либо ошибки консоли, отображаемые в отладчике? Каким образом это не работает?
Ответ №2:
Все работает, путь указан правильно. Я допускаю ошибку опечатки при вызове функции. Теперь я учусь сохранять имя функции siple.