我刚刚开始学习一些java脚本/ jquery。我的功能可能完全错误,但我甚至无法编译来检查它。 (使用firefox firebug调试器)我已经看过其他类似于我正在尝试编写的代码,并且似乎无法获得这种语法错误,甚至看看它是否会接近。如果有人能帮我解决这个问题,我会非常感激!这是我的代码。
JavaScript文档:
$(document).ready(function () {
jQuery.fn.timer = function () {
var $quote = $('#quote').children;
var i = ('$quote p').css('display', ':visible');
$quote.eq(i).animate({
opacity: 0
}, 300).css('display', ':none');
if (i > $quote.length) {
i = 0;
$quote.eq(i).css('display', ':visible').animate({
opacity: 100
}, 300);
} else {
$quote.eq(i + 1).css('display', ':visible').animate({
opacity: 100
}, 300);
}
window.setInterval(function () {
$('#quote').timer();
}, 5000);
});
})(); (edit)
编辑:对不起,“:”是论坛上的一个错字,确实有一个“;”在末尾。我尝试多次更改我的代码在这个区域,但仍然得到相同的语法错误。第29行是我编辑的上一行。
答案 0 :(得分:2)
var i = ('$quote p').css('display', ':visible');
行$
看起来在('$quote p')
部分之前缺少$('#quote p')
。
修改强>
那条线肯定应该是;
吗?
编辑编辑
此外,正如DCoder在评论中所说,最后一个字符应该是:
而不是{{1}}。
答案 1 :(得分:-1)
我认为你缺少括号的问题。请查看以下代码是否可以帮助您
$(document).ready(function () {
jQuery.fn.timer = function () {
var $quote = $('#quote').children;
var i = ('$quote p').css('display', ':visible');
$quote.eq(i).animate({
opacity: 0
}, 300).css('display', ':none');
if (i > $quote.length) {
i = 0;
$quote.eq(i).css('display', ':visible').animate({
opacity: 100
}, 300);
} else {
$quote.eq(i + 1).css('display', ':visible').animate({
opacity: 100
}, 300);
}
window.setInterval(function () {
$('#quote').timer();
}, 5000);
};
});