Я хочу переместить круг в строке, скажем, через 3 секунды. Я использую JS для динамического рисования круга и перемещения его и setTimeout для временной задержки. когда я загружаю страницу, кружок появляется через 3 секунды, но тем временем проехал некоторое расстояние по линии (он должен был начинаться с начала строки i.e (30, y1)). Я не могу понять, где я ошибся. здесь соответствующие коды:setTimeout не работает, когда используется для svg
train.js
function RunTrain(x,y,desti,time,r)
{
var xmlns="http://www.w3.org/2000/svg";
var C=document.createElementNS(xmlns,"circle");
C.setAttributeNS(null,"cx",x);
C.setAttributeNS(null,"cy",y);
C.setAttributeNS(null,"r",r);
C.setAttribute("style","stroke-width:1;stroke:blue;fill:skyblue");
var animate=document.createElementNS(xmlns,"animate");
animate.setAttribute("attributeName","cx");
animate.setAttribute("attributeType","XML");
animate.setAttribute("from",x);
animate.setAttribute("to",desti);
animate.setAttribute("dur","2s");
animate.setAttribute("begin","0s");
animate.setAttribute("repeatCount","1");
animate.setAttribute("fill","freeze");
C.appendChild(animate);
document.getElementById("id1").appendChild(C);
//id1 is the id of svg tag
}
call.js
setTimeout(function(){ RunTrain(30,y1,Mlx2,5,10); },3000);
demo.html
<svg height = 5000 width = 5000 id="id1"> </svg>
<script src="/static/train.js"></script>
<script src="/static/call.js"></script>
Примечание: это часть Джанго проекта. Я использую mozilla.
Редактировать
Этот animateTransform также вызывает проблемы даже при вызове beginElement на нем.
вы имели в виду 'setInterval'? –
извините, набрав ошибку, но я использовал оба setTimeout и setInterval. none work – user37886
Документ имеет временную шкалу, время проходит, но вы всегда начинаете анимацию с 0s –