запуск jquery btn 1,2,3,4 —

#jquery #triggers

#jquery #запускает

Вопрос:

Я пытаюсь создать функцию в jQuery, которая запускает разные функции при каждом нажатии. (на одной и той же кнопке) — Но максимум 4 разных нажатия.

Первый щелчок: функция 1, второй щелчок: функция 2, Третий щелчок: функция 3, четыре и последний щелчок: функция 4

Это для поворота изображения. (Я пытался что-то запустить)http://pastie.textmate.org/private/uacbnix2fjovtocks5lehq

Комментарии:

1. Что происходит при пятом нажатии? toogle должно быть очень близко к тому, что вы хотите. Но если вы не хотите возиться с исходным кодом jQuery, вы можете взглянуть на плагин, который я написал, и соответствующим образом изменить его (или улучшить ;)): github.com/fkling/jQuery-Function-Toggle-Plugin

2. html5? если это так, вы можете просто увеличить углы на холсте, верно?

3. При пятом нажатии я хочу, чтобы он вернулся к функции 1 (повернулся к «обычному» виду). НЕ html5 :-/

Ответ №1:

Кажется, .toggle() это то, что вы хотите:

Привязать два или более обработчиков к соответствующим элементам, которые будут выполняться при альтернативных щелчках мыши.

который вы бы использовали как:

 $('button').toggle(func1, func2, func3, func4);
  

Или предоставить альтернативную реализацию:

 var funcs = [func1, func2, func3, func4];

$('button').click(function() {
    var data = $(this).data();
    funcs[data.click_counter]();
    data.click_counter = (data.click_counter   1) % funcs.length;
}).data('click_counter', 0);
  

Ответ №2:

 $(document).ready(function(){

var i = 1 ; 

$('#buttonid').click(function(){

   if(i == 1) {
     function1();
     i  ;
   }
   else if(i == 2) {
    function2();
    i  ;
   }
   else if(i == 3) {
    function3();
    i  ;
   }
   else if(i == 4) {
    function4();
    i=1;
   }

});

});
  

если я правильно понял ваш вопрос. это должно быть ответом.

Комментарии:

1. @william: Тебе не кажется, что это toggle намного проще в использовании? Я имею в виду, пришло ваше время, но не усложняйте это больше, чем это должно быть…

2. Привет, Феликс, да, ты прав. Я не уверен, что понимаю приведенный ниже пример переключения. И я немного обеспокоен этой функцией. :-/ Но пока спасибо за вашу помощь!