Я пытаюсь произвольно анимировать изображения, используя jQuery и таймер (http://jquery.offput.ca/every/ работает как таймер), чтобы имитировать анимированный GIF, но позволяет определять анимацию в файле HTML (или вскрипт в верхней части страницы для многократного использования одного и того же «анимированного» изображения).
Я написал специальную версию, в которой кадры исправлены: следующий код поменяет изображения с классом «animate» с /path/to/image/dir/frame1.pngи /path/to/image/dir/frame2.png каждые 300 мс.
<script type="text/javascript" src="jquery.timers.js"></script>
<script type="text/javascript">
;(function($){
$(function() {
var base_path = "/path/to/image/dir/";
var on = true;
$(".animate").everyTime(200, function(i) {
if(!on) {
$(this).attr({src: base_path + "frame1.png"});
} else {
$(this).attr({src: base_path + "frame2.png"});
}
on = !on;
});
});
})(jQuery);
</script>
Что я хотел бы сделать, это написать общую форму выше, где в теге изображения я мог бы поместитьследующие
<img src="/path/to/fallback/image.png" class="animate {interval:300, src:[frame1.png,frame2.png]}" alt="animated image" />
и сценарий могут использовать параметры, передаваемые в атрибут класса, для определения длительности каждого кадра и исходного изображения.Изначально я хочу чередовать только два изображения, но в идеале я бы хотел, чтобы массив src содержал любое количество изображений, которые будут зацикливаться бесконечно (т. Е. Не нужно взаимодействие с пользователем).
Любые идеи о том, как яможет реализовать это?Я предполагаю, что мне понадобится некоторая форма синтаксического анализа значения ключа атрибута class, которая может быть не семантически правильной, поэтому есть ли другой (допустимый, но редко используемый) атрибут, который я мог бы использовать для хранения свойств анимации?