Я пытаюсь сделать простую анимацию на линии. Основная цель здесь заключается в том, что когда я нажимаю на холст, линия идет от точки к определенному количеству пикселей в высоту. Однако, когда я нажимаю на холст, сценарий показывает, что анимация началась и завершилась (функция обратного вызова вызывается в конце), но на самом деле я не вижу анимацию. Может ли кто-нибудь сказать мне, почему?Почему мой сценарий запускает анимацию, но не показывает ее?
Функция создает каждую анимированную линию, присоединяет его к документу, и задает стиль
function animatedLine(name, x1, y1, width, height, stroke, duration){
this.name = name;
this.x1 = x1;
this.y1 = y1;
this.stroke = stroke;
this.width = width;
this.height = height,
this.duration = duration;
$("body").append("<div id='" +this.name +"'></div>");
$("#" +this.name).css({"position": "absolute", "top": this.y1 +"px", "left": this.x1 +"px", "backgroundColor": this.stroke, "width": this.width +"px", "height": this.y1 +"px", "z-index": 5});
}
Создает новый animatedLine
объект
var line1 = new animatedLine("R01", 0, 0, 5, 100, "black", 3);
создает временную шкалу
var timeline = new TimelineLite();
создает анимация временной шкалы, это явно происходит потому, что onComplete
функция вызывается
timeline.to(line1, line1.duration, {"height": line1.height +"px",
onComplete: function(){
После того, как анимация завершена, «привет» выводится на консоль
console.log("hello");
}
});
$("#schematic_holder").on("click", function(){
timeline.play();
})
что-то, чтобы отметить, что фон холст элемент и его позиция устанавливается в абсолютной и z-index устанавливается равным 0, поэтому линия должна располагаться поверх холста, что он делает.
Добро пожаловать на SO, вы не возражаете редактировать свой вопрос и изменить верхний регистр в нижний регистр? – Huangism
@Huangism уверенный вещь. Я просто сделал это для комментариев, но понимаю, что теперь избыточно. – User