2

我确定我只是在放屁,我错过了一些明显的东西,但请帮忙。

我无法弄清楚为什么以下代码(自定义幻灯片放映的早期编码)在文档加载时没有破坏。

$(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()
4

2 回答 2

8

长度是一种属性,而不是一种方法。

var numSlides = $('#slides .slide').length; // note, no parens
于 2011-03-09T15:33:18.513 回答
1

要获取网页上的幻灯片数量,您应该使用 jQuery 的.size()方法或.length属性。如果我没记错的话,您可能不会将长度称为一种方法。

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

顺便说一句,.width()如果您使用像素值,则可以兼作 setter 和 getter,因此您可以简化编辑 CSS 属性的最后一行。

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

除非您确信 jQuery 是您项目的唯一 JavaScript 库,否则您可能不想使用美元符号 ($)。您可以将第一个美元符号替换为“jQuery”,然后将美元符号添加到匿名函数参数中。这样,您仍然可以在 document.ready() 方法中安全地使用美元符号。例子:

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

希望这可以帮助您解决问题,祝您好运,如果您需要更多帮助,请告诉我。

干杯!

于 2011-03-09T15:43:55.173 回答