плавное микширование jQuery два изображения на цикле!

Я пытаюсь использовать Дизайн подхода Контракта. Это может быть эмулированное время выполнения любым языком. Каждые поддержки языка "утверждают", но это легко и covenient для записи лучшей реализации, которые позволяют Вам управлять ошибкой более полезным способом.

В Лучшие 25 Самых Опасных Программных ошибок "Неподходящий Контроль ввода" является самой опасной ошибкой в разделе "Insecure Interaction Between Components".

Добавление , который предварительное условие утверждает в начале методов, является хорошим способом быть уверенным, что параметры последовательны. В конце методов я пишу постусловия , та проверка, которые производят, - то, что является inteded, чтобы быть.

для реализации инварианты , я пишу метод в любом классе, который проверяет "последовательность класса", которую должен назвать автоматически макрос предварительного условия и постусловия.

я оцениваю Библиотека Контракта Кода .

5
задан Cool Hand Luke 6 September 2009 в 18:43
поделиться

3 ответа

Редактировать 2+ года спустя: есть лучшие способы сделать это ... так что игнорируйте этот ответ.


Я бы попробовал комбинацию обратных вызовов и setTimeout. (Я собираюсь опираться на ответ Коби, поскольку он отправил сообщение, пока я печатал.)

В CSS задайте обоим изображениям «display: none;» вместо того, чтобы скрывать их в начале в jQuery. Затем в jQuery:

function imageOneFade(){
  $('#img1').fadeIn(2000, function(){ setTimeout("$('#img1').fadeOut(2000); imageTwoFade();",6000); });
}

function imageTwoFade(){
  $('#img2').fadeIn(2000, function(){ setTimeout("$('#img2').fadeOut(2000); imageOneFade();",6000); });
}

$(document).ready(function(){
   imageOneFade();
});

Надеюсь, что-то подобное у вас получится.

Функция setTimeout принимает два параметра.

4
ответ дан 18 December 2019 в 07:30
поделиться

Почему бы вам не использовать уже созданное решение, такое как Cycle plugin ?

У него гораздо больше возможностей, чем вы хотите.

Если вам действительно нужно сделать это самостоятельно, вы можете посмотреть исходный код плагина. Я этого не делал, но думаю, что кодировщик использует комбинацию функции animate (из jQuery) и функции setTimeout (из чисто javascript). Используя эти функции, он должен сделать что-то вроде включения таймера на определенное время, а по истечении времени он выполняет функцию анимации, устанавливая непрозрачность изображения на 0 (для скрытия изображения) и 1 (для показа изображения).

6
ответ дан 18 December 2019 в 07:30
поделиться

Вы можете использовать комбинацию обратных вызовов jQuery и JavaScript setTimeout .
setTimeout используется для задержек, а обратные вызовы используются после завершения анимации (хотя есть много других обратных вызовов).

function startSlideshow(){
  $('#p1').fadeOut(2000, function(){
    setTimeout(function(){
      $('#p1').fadeIn(2000, startSlideshow)
    },1000);
  });
}

$(document).ready(function(){
   startSlideshow();
});

См. это в действии: http://jsbin.com/ulugo

1
ответ дан 18 December 2019 в 07:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: