2016-01-29 3 views
0

Это моя функция, чтобы пройти через образы:заменить SRC и обратно на событие щелчка

var src = event.target.src; 
     popupImageElem.src = (src); 
     //popupImageElem.src = src.replace('/thumb/','/big/'); 
     TweenLite.to([overlayElem, popupElem], .5, {opacity: 1, visibility: 'visible'}); 
     $(document).on('click','.left-button',(e) => { 
      var srcPrev = this.viewModel.getPrevThumbnailBySrc(popupImageElem.src); 
      popupImageElem.src = (srcPrev); 
      //popupImageElem.src = srcPrev.replace('/thumb/','/big/'); 
     }); 
     $(document).on('click','.right-button',(e) => { 
      var srcNext = this.viewModel.getNextThumbnailBySrc(popupImageElem.src); 
      popupImageElem.src = (srcNext); 
      //popupImageElem.src = srcNext.replace('/thumb/','/big/'); 
     }); 

Я хочу изменить изображение SRC/палец/к/большой/при нажатии кнопки рядом, но он должен вернуться/thumb/снова, когда вы переходите к следующему изображению, и когда на следующем изображении он должен измениться/temp/to/big/again.

если я конец цитаты комментируемой код он заменяет его, но не изменяет его назад, так он не будет находить следующее изображение, так что работает на URL, который содержит/палец/

+3

Пожалуйста, создайте пример скрипки, это будет легко понять проблему, тогда – abhi

ответ

0

Если вы используете JQuery 1.8 или предыдущую версию , вы должны можете посмотреть на Jquery basic .toogle() что позволило вам сделать что-то подобное:

$("#target").toggle(function() { 
    alert("First handler for .toggle() called."); 
}, function() { 
    alert("Second handler for .toggle() called."); 
}); 

Однако, так как он удаляется из Jquery 1.9, вы можете создать свой собственный небольшой плагин: Приходите от Felix Kling ->here и работайте очень хорошо для меня.

(function($) { 
    $.fn.clickToggle = function(func1, func2) { 
     var funcs = [func1, func2]; 
     this.data('toggleclicked', 0); 
     this.click(function() { 
      var data = $(this).data(); 
      var tc = data.toggleclicked; 
      $.proxy(funcs[tc], this)(); 
      data.toggleclicked = (tc + 1) % 2; 
     }); 
     return this; 
    }; 
}(jQuery)); 
Смежные вопросы