2011-03-09 85 views
2

我敢肯定,我只是有脑放屁,我失去了一些东西很明显,但请大家帮忙。为什么我的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() 
+0

你可以把标记吗?这会更容易建议。 – bhu1st 2011-03-09 15:32:57

+0

jQuery的'width'方法需要的整数。 你并不需要添加'px'。 – SLaks 2011-03-09 15:31:57

+0

你能确认ready函数被触发吗?只需在其中放置一个'console.log('yadda')'。 – Bjorn 2011-03-09 15:35:05

回答

8

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

var numSlides = $('#slides .slide').length; // note, no parens 
+0

+1我错过了。 – SLaks 2011-03-09 15:34:00

+0

+1福气:) – Sarfraz 2011-03-09 15:34:32

+0

就是这样。谢谢! – Ben 2011-03-09 15:35:35

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*/ });

希望帮助您解决您的问题,祝你好运,让我知道,如果你需要帮助了。

干杯!