2013-02-13 105 views
0

我正在創建我的第一個jquery函數。視圖窗口上方有一組按鈕。視圖窗口用div初始化,當按下其中一個按鈕時,相應的div滑入視圖窗口。基於jquery的按鈕滑塊

它在firefox中可以正常工作(在任何其他瀏覽器中都不工作),但最終沒有div滑入視圖窗口。我相信這個問題與css剩餘值超出範圍有關,但我不確定如何解決它。

JS

$(function() { 
var prevButton = 3; 
$("#par3").show(); 

$(".window_control").click(function() { 
    var cur = this.id; 

    if(cur != prevButton){ 

     var activeItem = $("#par"+prevButton); 
     var nextItem = $('#par'+cur); 

     var slider = $(".slider"); 
     var finalWidth = slider.width()*2; 
     var animationTime = 2000; 

     var cssDir = (prevButton > cur) ? "right" : "left"; 
     var animation = (prevButton > cur) ? { left: '+=' + finalWidth } : { left: '-=' + finalWidth }; 

     prevButton = cur; 

     activeItem 
      .animate(animation, animationTime); 

     nextItem 
      .show() 
      .css(cssDir, finalWidth) 
      .animate(animation, animationTime); 
    } 
    return false; 
    }); 
}); 

回答

0

你不使用任何理由本地:

$('div').show("slide", { direction: "left" }, 1000); 
+0

的原因是因爲我無法弄清楚如何設置一個延遲,所以用戶不能點擊其他按鈕並讓幻燈片播放另一個。 – hijinxbassist 2013-02-13 01:27:49

+0

你的答案確實有幫助,我剛剛意識到這種方法也可以有一個完整的功能。感謝芽。另一個我帶動畫的原因是我可以在當前和下一個div之間設置差距,但我確定我可以弄明白。再次感謝您的幫助。 – hijinxbassist 2013-02-13 01:45:45