artnovich
Новичок
Дата регистрации:
06.08.2014 20:13:45
Сообщений: 7
Или вот способ вложенных интервалов
var width = Number(prompt("Ведите максимальную ширину"
);
var height = Number(prompt("Ведите максимальную высоту"
);
var duration = Number(prompt("Ведите milliseconds"
);
var w = document.images.im.width;
var h = document.images.im.height;
var img = document.images.im
var xmx = width;
var xma = width;
var ymx = height;
var yma = height;
var ymi = h;
var ymn = h;
var xmi = w;
var xmn = w;
if ((width > w) && (height > h)){
var id = setInterval(funid, duration);
}
if ((width < w) && (height < h)){
var di = setInterval(fundi, duration);
}
if ((width > w) && (height < h)){
var kn = setInterval(funkn, duration);
}
if ((width < w) && (height > h)){
var nk = setInterval(funnk, duration);
}
function funid(){
if ((xmi <= xma) || (ymi <= yma)){
if (xmi <= xma) img.width = xmi++;
if (ymi <= yma) img.height = ymi++;
}
else{
clearInterval(id);
var ide = setInterval(funide, duration);
}
function funide(){
if ((xmn <= xmx) || (ymn <= ymx)){
if (xmn <= xmx) img.width = xmx--;
if (ymn <= ymx) img.height = ymx--;
}
else{
xmi = xmn;
ymi = ymn;
xmx = xma;
ymx = yma;
clearInterval(ide);
id = setInterval(funid, duration);
}
}
}
function fundi(){
if ((xmi >= xma) || (ymi >= yma)){
if (xmi >= xma) img.width = xmi--;
if (ymi >= yma) img.height = ymi--;
}
else{
clearInterval(di);
var die = setInterval(fundie, duration);
}
function fundie(){
if ((xmn >= xmx) || (ymn >= ymx)){
if (xmn >= xmx) img.width = xmx++;
if (ymn >= ymx) img.height = ymx++;
}
else{
xmi = xmn;
ymi = ymn;
xmx = xma;
ymx = yma;
clearInterval(die);
di = setInterval(fundi, duration);
}
}
}
function funnk(){
if ((xmi >= xma) || (ymi <= yma)){
if (xmi >= xma) img.width = xmi--;
if (ymi <= yma) img.height = ymi++;
}
else{
clearInterval(nk);
var nke = setInterval(funnke, duration);
}
function funnke(){
if ((xmn >= xmx) || (ymn <= ymx)){
if (xmn >= xmx) img.width = xmx++;
if (ymn <= ymx) img.height = ymx--;
}
else{
xmi = xmn;
ymi = ymn;
xmx = xma;
ymx = yma;
clearInterval(nke);
nk = setInterval(funnk, duration);
}
}
}
function funkn(){
if ((xmi <= xma) || (ymi >= yma)){
if (xmi <= xma) img.width = xmi++;
if (ymi >= yma) img.height = ymi--;
}
else{
clearInterval(kn);
var kne = setInterval(funkne, duration);
}
function funkne(){
if ((xmn <= xmx) || (ymn >= ymx)){
if (xmn <= xmx) img.width = xmx--;
if (ymn >= ymx) img.height = ymx++;
}
else{
xmi = xmn;
ymi = ymn;
xmx = xma;
ymx = yma;
clearInterval(kne);
kn = setInterval(funkn, duration);
}
}
}