这是我在这里的第一篇文章,所以我不确定我的帖子标题或这篇文章的其余内容是广泛还是含糊。
这是我解决问题的第一站点。但现在我被困住了。我设法从我在这个网站上找到的一些代码组合了一个jquery图像幻灯片放映(不是一个插件)。我在这里和那里做了一些修改,并添加了几个输入字段。 这是一个jsfiddle http://jsfiddle.net/8BRzr/48/,我的问题已被评论。
我相信我的问题在于jquery代码的setInterval部分
$(function(){
$('#addimage').click(function(){
if($( "#addimagefield" ).val().trim().length !='' && $( "#image1" ).val().trim().length ==''){
$( "#image1" ).val( $("#addimagefield").val().trim() );
$( "#addimagefield" ).val( '' );
} if($( "#addimagefield" ).val().trim().length !='' && $( "#image2" ).val().trim().length ==''){
$( "#image2" ).val( $("#addimagefield").val().trim() );
$( "#addimagefield" ).val( '' );
} if($( "#addimagefield" ).val().trim().length !='' && $( "#image3" ).val().trim().length ==''){
$( "#image3" ).val( $("#addimagefield").val().trim() );
$( "#addimagefield" ).val( '' );
} if($( "#addimagefield" ).val().trim().length !='' && $( "#image4" ).val().trim().length ==''){
$( "#image4" ).val( $("#addimagefield").val().trim() );
$( "#addimagefield" ).val( '' );
} if($( "#addimagefield" ).val().trim().length !='' && $( "#image5" ).val().trim().length ==''){
$( "#image5" ).val( $("#addimagefield").val().trim() );
$( "#addimagefield" ).val( '' );
}
image1 = $('#image1').val();
image2 = $('#image2').val();
image3 = $('#image3').val();
image4 = $('#image4').val();
image5 = $('#image5').val();
var arr = [ image1,image2,image3,image4,image5 ];
var images = $.grep( arr, function( n, i ) {
return n != '';
});
var cur_image = 0;
function changeBackground() {
cur_image++;
if ( cur_image >= images.length )
cur_image = 0;
// change images
$( '.featuredImages' ).css({
backgroundImage: 'url(' + images[ cur_image ] + ')'
});
$( '.featuredImages .slide' ).fadeIn( 2000, function(){
$( this ).css({
backgroundImage: 'url(' + images[ cur_image ] + ')'
}).show();
} );
};
setInterval( changeBackground, 6000 );
});
});
在搜索时我遇到了settimeout()函数,这看起来像我需要但我不知道在哪里/如何实现它。
感谢任何和所有帮助,谢谢。
答案 0 :(得分:0)
问题是您已在事件处理程序中为单击声明了changeBackground
函数,因此它仅在该范围内可用。当你试图在外面使用它时,它是未定义的。
将该函数移出事件处理程序,并在该范围之外声明image
和cur_image
变量,因为函数使用它们: