隐藏默认幻灯片上的左箭头

时间:2012-07-03 17:38:44

标签: jquery

我的脚本无需帮助。我试图隐藏默认幻灯片中的左侧导航箭头(#slide1)。最初工作,但当用户通过幻灯片放映并返回到同一幻灯片(#slide1)时,会显示箭头。 看着我的剧本,有人能告诉我我做错了什么:

var curSlide = 0;

 function setSlide(num,dir){  
   var oldSlide = curSlide;  
    if(num>5) num = 1;  
  else if(num<1) num = 5;  
  var showDir = "";
  var hideDir = "";  
     (dir=="f"){
     showDir = "right";  
     hideDir = "left";  
  } else {  
    showDir = "left";  
    hideDir = "right";  
}  
if(curSlide == 0){  
$("#slide1").show();  
$('#left_arrow').hide();  
curSlide = 1;      

} else {  
curSlide = num;      

$("#slide"+curSlide).show('slide',{direction:showDir},600);  
    $("#slide"+oldSlide).hide('slide',{direction:hideDir},600);  
$('#left_arrow').show();  
}  

}

 function nextSlide(){  
   setSlide(curSlide*1+1,"f");  
   }     

function prevSlide(){  
setSlide(curSlide*1-1,"b");  
 }  



$(document).ready(function () { 
if($('#show_picks')) {  

$('#show_picks area').each(function() {  
        $(this).click(function(e) {  
            e.preventDefault();  
            setSlide($(this).attr('id'),"f");  
        });  
        $(this).mouseover(function(e) {  
            $(this).css("cursor", "pointer");  
        });  
        $(this).mouseout(function(e) {  
            $(this).css("cursor", "default");  
        });  

    });  
}   
    $("#left_arrow").click(function(e) {  
            e.preventDefault();  
            prevSlide();  
    });

    $("#right_arrow").click(function(e) {  
            e.preventDefault();  
            nextSlide();  
    });


    $("#left_arrow").mouseover(function(e) {  
            $("#left_arrow").css("cursor", "pointer");  
    }); 


    $("#left_arrow").mouseout(function(e) {  
            $("#left_arrow").css("cursor", "default");  
    });


    $("#right_arrow").mouseover(function(e) {  
            $("#right_arrow").css("cursor", "pointer");  
    });


    $("#right_arrow").mouseout(function(e) {  
            $("#right_arrow").css("cursor", "default");  
    });  

     for(var i=2;i<6;i++){  
        $("#slide"+i).hide();   
      }  
    setSlide(0,"f");  
});  

1 个答案:

答案 0 :(得分:0)

问题是你检查当前幻灯片是否为0隐藏左箭头。这只发生在第一次脚本加载时。

由于

,执行中的

永远不会再为0

if(num>5) num = 1;  
  else if(num<1) num = 5;  

curSlide = 1;   

curSlide = num;      

你将数字设置为1到5或1从不为0,你的隐藏条件是

if(curSlide == 0){  
$("#slide1").show();  
$('#left_arrow').hide(); 

您必须在乞讨时设置curslide=1并将条件更改为if(curSlide == 1){