Почему мой jQuery не работает? - PullRequest
2 голосов
/ 09 марта 2011

Уверен, у меня просто пердит мозг, и мне не хватает чего-то очевидного, но, пожалуйста, помогите.

Я не могу понять, почему следующий код (раннее кодирование пользовательского слайд-шоу) не разрушается при загрузке документа.

$(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 ]

8 голосов
/ 09 марта 2011

Длина - это свойство, а не метод.

var numSlides = $('#slides .slide').length; // note, no parens
1 голос
/ 09 марта 2011

Чтобы получить количество слайдов на веб-странице, вы должны использовать либо метод .size() jQuery, либо свойство .length.если я правильно помню, вы не можете вызывать длину как метод.

var numSlides = $('#slides .slide').size();

Кстати, .width() удваивается как установщик и получатель, если вы работаете со значениями пикселей, поэтомуВы можете упростить последнюю строку, которая редактирует свойство CSS, следующим образом.

$('#slides').width(totalWidth);

Возможно, вы не захотите использовать знак доллара ($), если не уверены, что jQuery - единственныйБиблиотека JavaScript для вашего проекта.Вы можете заменить первый знак доллара на jQuery, а затем добавить знак доллара в параметры анонимной функции.Таким образом, вы все еще можете безопасно использовать знак доллара в методе document.ready ().Пример:

jQuery(document).ready(function($) { /*code here*/ });

Надеюсь, что это поможет вам решить вашу проблему, удачи и дайте мне знать, если вам нужна дополнительная помощь.

Приветствия!

...