2012-03-02 91 views
0

我有我的JavaScript横幅问题。我只想让第一张幻灯片出现在页面加载中。目前,横幅跳到最后一张幻灯片,然后跳回第一张幻灯片。这是我的JavaScript。我是新手,我一直在搜索整个互联网没有运气,并会感谢帮助。谢谢。Javascript横幅幻灯片覆盖海誓山盟页面加载

var jqb_vCurrent = 0; 
var jqb_vTotal = 0; 
var jqb_vDuration = 6000; 
var jqb_intInterval = 0; 
var jqb_vGo = 1; 
var jqb_vIsPause = false; 
var jqb_tmp = 20; 
var jqb_title; 
var jqb_imgW = 680; 
var jqb_imgH = 200; 

jQuery(document).ready(function() { 
jqb_vTotal = $(".jqb_slides").children().size() -1; 
$(".jqb_info").text($(".jqb_slide").attr("title")); 
jqb_intInterval = setInterval(jqb_fnLoop, jqb_vDuration); 

//Horizontal 
$("#jqb_object").find(".jqb_slide").each(function(i) { 
    jqb_tmp = ((i - 1)*jqb_imgW) - ((jqb_vCurrent -1)*jqb_imgW); 
    $(this).animate({"left": jqb_tmp+"px"}, 500); 
}); 


$("#btn_pauseplay").click(function() { 
    if(jqb_vIsPause){ 
     jqb_fnChange(); 
     jqb_vIsPause = false; 
     $("#btn_pauseplay").removeClass("jqb_btn_play"); 
     $("#btn_pauseplay").addClass("jqb_btn_pause"); 
    } else { 
     clearInterval(jqb_intInterval); 
     jqb_vIsPause = true; 
     $("#btn_pauseplay").removeClass("jqb_btn_pause"); 
     $("#btn_pauseplay").addClass("jqb_btn_play"); 
    } 
}); 
$("#btn_prev").click(function() { 
    jqb_vGo = -1; 
    jqb_fnChange(); 
}); 

$("#btn_next").click(function() { 
    jqb_vGo = 1; 
    jqb_fnChange(); 
}); 
}); 

function jqb_fnChange(){ 
clearInterval(jqb_intInterval); 
jqb_intInterval = setInterval(jqb_fnLoop, jqb_vDuration); 
jqb_fnLoop(); 
} 

function jqb_fnLoop(){ 
if(jqb_vGo == 1){ 
    jqb_vCurrent == jqb_vTotal ? jqb_vCurrent = 0 : jqb_vCurrent++; 
} else { 
    jqb_vCurrent == 0 ? jqb_vCurrent = jqb_vTotal : jqb_vCurrent--; 
} 


$("#jqb_object").find(".jqb_slide").each(function(i) { 
    if(i == jqb_vCurrent){ 
     jqb_title = $(this).attr("title"); 
     $(".jqb_info").animate({ opacity: 'hide', "left": "-50px"}, 250,function(){ 
      $(".jqb_info").text(jqb_title).animate({ opacity: 'show', "left": "0px"}, 500); 
     }); 
    } 


    //Horizontal Scrolling 
    jqb_tmp = ((i - 1)*jqb_imgW) - ((jqb_vCurrent -1)*jqb_imgW); 
    $(this).animate({"left": jqb_tmp+"px"}, 500); 


}); 


} 

回答

0

也许你不应该document.ready#jqb_object.jqb_slide元素动画?

编辑

而不是

//Horizontal 
$("#jqb_object").find(".jqb_slide").each(function(i) { 
    jqb_tmp = ((i - 1)*jqb_imgW) - ((jqb_vCurrent -1)*jqb_imgW); 
    $(this).animate({"left": jqb_tmp+"px"}, 500); 
}); 

尝试

//Horizontal 
i = 1; 
jqb_tmp = ((i - 1)*jqb_imgW) - ((jqb_vCurrent -1)*jqb_imgW); 
$("#jqb_object").find(".jqb_slide:first").animate({"left": jqb_tmp+"px"}, 500); 

,如果你希望你的最后一张幻灯片出现在其自己的标题页面加载,改变jqb_vCurrent指数:

jqb_vCurrent = jqb_vTotal; 
+0

我试过了,但是我无法让它工作。我很困扰这一点。由于我发布了这个,我添加了一些其他代码来阻止我遇到的动画构建问题。所以你告诉我把代码 – 2012-03-02 19:00:06

+0

对不起,被切断了。所以这段代码现在看起来像这样: – 2012-03-02 19:00:42

+0

感谢一群人回到我身边。所以我输入了你建议的代码,但仍然无法实现。我收到一个语法错误。我做错了什么?代码让我如此疯狂! $(“#jqb_object”)。find(“。jqb_slide:first”)。animate({“left”:jqb_tmp +“px”},500); jqb_tmp =((i-1)* jqb_imgW) - ((jqb_vCurrent-1)* jqb_imgW);其中,jqb_tmp =((i-1)* jqb_imgW) 500);()“(”left“:jqb_tmp +”px“},500); \t}); – 2012-03-02 19:04:16