2012-03-23 60 views
0

我目前正試圖使用​​這段代碼從右到左滑動一個標籤,但我沒有達到我的初始目標。這是jquery文件。我嘗試實施動畫方向,但它只給了我錯誤。Jquery從右到左的滑動標籤功能

(function ($) { 
    $.fn.showHide = function (options) { 
     //default vars for the plugin 
     var defaults = { 
      speed: 1000, 
      easing: '', 
      changeText: 0, 
      showText: 'Show', 
      hideText: 'Hide' 
     }; 
     var options = $.extend(defaults, options); 

     $(this).click(function() { 

      $('.toggleDiv').slideUp(options.speed, options.easing); 

      var toggleClick = $(this); 

      var toggleDiv = $(this).attr('rel'); 

      $(toggleDiv).slideToggle(options.speed, options.easing, function() { 

       if(options.changeText==1){ 
        $(toggleDiv).is(":visible") ? toggleClick.text(options.hideText) : toggleClick.text(options.showText); 
       } 
      }); 

      return false; 

     }); 

    }; 
})(jQuery); 

回答

0

主要問題就在這裏:

var options = $.extend(defaults, options); 

你聲明options兩次,在函數作爲參數,並且在函數內部的變量。這是問題的來源。只需將其重命名爲opts例如:

var opts = $.extend(defaults, options); 
+0

好的,很好的建議我沒有注意到這個小錯誤。但我將如何去添加一個選項向左滑動? – CodingWonders90 2012-03-23 04:39:59

+0

沒有小錯,我會說很嚴重。看http://jsfiddle.net/elclanrs/5kXQj/。爲了從兩側滑動標籤,您的動畫是正確的,這就是您應該使用的。通常你會爲選項卡的'width'設置動畫,而不是'left'屬性。 – elclanrs 2012-03-23 04:53:27