2012-03-23 3 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

+0

Нечто плохое, довольно серьезное, я бы сказал. Посмотрите http://jsfiddle.net/elclanrs/5kXQj/. Чтобы сдвинуть вкладку с боков, вы были правы в анимации, вот что вы должны использовать. Обычно вы должны анимировать «ширину» вкладки, а не свойство 'left' ... – elclanrs

Смежные вопросы