2014-04-23 6 views
0

Я работаю над функцией javascript, которая открывает окно мода jQuery и делает вызов ajax для заполнения модального. Я включил «left» и «right» div ids - нажатие кнопки изменяет содержимое модального окна (прокрутка слайд-шоу фотографий).JQuery Jqui Modal Window: открытие того же модального несколько раз

Все работает отлично, за исключением одного: если я открою модальный, а затем закрою его, открывая его во второй раз, эти кнопки «влево/вправо» подсчитывают каждый щелчок как два (нажмите «право» один раз, но переместите два изображения). Если я закрою окно и снова его снова открою, подсчет снова увеличится на 1 (3 изменения за 1 клик).

Единственным обходным решением, которое исправляет это, является перезагрузка страницы при закрытии модального окна, но кто-нибудь знает о лучшем решении? В принципе, я хочу «перезагрузить» модальное окно, но не хочу его уничтожать. Я хотел бы иметь возможность открывать/закрывать модальные несколько раз и работать с этими правыми/левыми кнопками.

Часть функции, которую я использовал для создания этих кнопок, ниже - спасибо за любые предложения/идеи.

function getNextImage(direction) { 
     if(direction == 1) { 
      if(imageNumber == 1) { 
        imageNumber = lastImage; 
       } else { 
        --imageNumber; 
       } 
      } 
     if(direction == 2) { 
      if(imageNumber == lastImage) { 
        imageNumber = 1; 
       } else { 
        ++imageNumber; 
       } 
      } 
     if(direction == 0) { 
      imageNumber = 1; 
     } 

     $.ajax({ 
      type: "GET", 
      url: "phpIncludes/next_fetch.php", 
      cache: false, 
      data: {img : imageNumber, cap : imageNumber, width : dWidth, height : dHeight, a : album}, 
      success: function(htmlpic) { 
       $("#left"+album).html(htmlpic); 
      } 
     }); 
    } 

    $("#moveLeft"+album).click(function() { 
     getNextImage(1); 
     console.log("Image Number is: " + imageNumber); 
    }); 

    $("#moveRight"+album).click(function() { 
     getNextImage(2) 
     console.log("Image Number is: " + imageNumber); 
    }); 

ответ

0

в этой части ::

$ .ajax ({ типа: "GET", URL: "phpIncludes/next_fetch.php", кэш: ложные, данные: {IMG: imageNumber, cap: imageNumber, width: dWidth, height: dHeight, a: album}, success: function (htmlpic) { $ ("# left" + album) .html (htmlpic); } });

перед тем, как добавить htmlpic в #left, proib сначала положил этот контент #left и проверить, выполнено ли это!

+0

Спасибо за хорошую идею! К сожалению, я попробовал, но это не сработало. Кнопки влево/вправо все еще получают приращение «+1», если модаль закрыт, а затем снова открыт. – Joseph

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