我已经编写了这段代码,这是jquery的基本图片库
$(document).ready(function() {
setInterval("rotateImages()",2000)
})
function rotateImages() {
var curPhoto = $("#photoshow div.current");
var nextPhoto = curPhoto.next();
if (nextPhoto.length == 0) {
nextPhoto = $("#photoshow div:first");
}
curPhoto.removeClass("current").addClass("previous");
nextPhoto.css({
opacity: 0.0
}).addClass("current").animate({
opacity: 1.0
}, 1000, function () {
curPhoto.removeClass("previous")
});
}
这是有效的,除非我用{}包装if语句时它没有。我只是想了解两者之间的区别以及为什么它不起作用。
答案 0 :(得分:1)
多行需要{},否则javascript解释器不知道它有更多的东西要运行。
试试这个,它必须工作:
$(document).ready(function() {
setInterval("rotateImages()", 2000);
})
function rotateImages() {
var curPhoto = $("#photoshow div.current")
var nxtPhoto = curPhoto.next();
if (nxtPhoto.length == 0) {
nxtPhoto = $("#photoshow div:first");
curPhoto.removeClass('current').addClass('previous');
nxtPhoto.css({
opacity: 0.0
}).addClass('current').animate({
opacity: 1.0
}, 1000, function() {
curPhoto.removeClass('previous');
});
}
}
<强> P.S。另请使用分号(;)来区分线条。
答案 1 :(得分:0)
如果if语句只有一个应该有条件地执行的语句,你可以省去大括号。如果必须有条件地执行更多语句,则必须将它们作为大括号内的代码块包含在内。我的提示:总是写一对括号,尤其是。如果你开始编程!