Почему мой jQuery не работает?
Я уверен, что у меня просто пердит мозг, и мне не хватает чего-то очевидного, но, пожалуйста, помогите.
Я не могу понять, почему следующий код (раннее кодирование пользовательского слайд-шоу) не разрушается при загрузке документа.
$(document).ready(function() {
var numSlides = $('#slides .slide').length();
var wrapperWidth = $('#homeBanner').width();
var totalWidth = numSlides * wrapperWidth;
// set width of #slides to width of all .slide elements added together
$('#slides').css('width', totalWidth+'px');
}); // end document.ready()
2 ответа
Длина это свойство, а не метод.
var numSlides = $('#slides .slide').length; // note, no parens
Чтобы получить количество слайдов на веб-странице, вы должны использовать любой из jQuery .size()
метод или .length
имущество. если я правильно помню, вы не можете называть длину как метод.
var numSlides = $('#slides .slide').size();
Кстати, .width()
удваивается как установщик и получатель, если вы работаете со значениями пикселей, так что вы можете упростить вашу последнюю строку, которая редактирует свойство CSS так же.
$('#slides').width(totalWidth);
Возможно, вы не захотите использовать знак доллара ($), если не уверены, что jQuery - единственная библиотека JavaScript для вашего проекта. Вы можете заменить первый знак доллара на jQuery, а затем добавить знак доллара в параметры анонимной функции. Таким образом, вы все еще можете безопасно использовать знак доллара в методе document.ready(). Пример:
jQuery(document).ready(function($) { /*code here*/ });
Надеюсь, что это поможет вам решить вашу проблему, удачи, и дайте мне знать, если вам нужна дополнительная помощь.
Ура!