Найти в Дзене
WebTechnology

Изоображение на волнах в JavaScript

Описание: Продолжу тему создания различных анимационных эффектов на JavaScript, и сегодня покажу Вам ещё один интересный скрипт, который двигает изображение по синусоиде с заданной амплитудой, благодаря чему создаётся эффект "Изображение на волнах". Вы можете поиграться с различными константами, и уверяю Вас, есть режимы, которые действительно завораживают. Код JavaScript (вставлять между тегами <head> и </head>): <script type="text/javascript">
var amp = 50;
function nextImageSize(i, length) {
return amp * Math.abs(Math.sin(i / (length / Math.PI)));
}
function sizeImageCycle(count, d) {
    out = "";
for (i = 0; i < count; i++) {
      size = parseInt(nextImageSize(i + d, count));
      out += "<img src = 'Foto3.jpg' style='width: "+ size +"px;' />";
}
    imagewave.innerHTML = out;
}
function doImageWave(count, n) {
    sizeImageCycle(count, n);
if (n > count) n = 0;
    setTimeout("doImageWave(\"" + count + "\", " + (n + 1) + ")", 80);
}
</script> Код HTML (вс

Описание: Продолжу тему создания различных анимационных эффектов на JavaScript, и сегодня покажу Вам ещё один интересный скрипт, который двигает изображение по синусоиде с заданной амплитудой, благодаря чему создаётся эффект "Изображение на волнах". Вы можете поиграться с различными константами, и уверяю Вас, есть режимы, которые действительно завораживают.

Код JavaScript (вставлять между тегами <head> и </head>):

<script type="text/javascript">
var amp = 50;
function nextImageSize(i, length) {
return amp * Math.abs(Math.sin(i / (length / Math.PI)));
}
function sizeImageCycle(count, d) {
    out = "";
for (i = 0; i < count; i++) {
      size = parseInt(nextImageSize(i + d, count));
      out += "<img src = 'Foto3.jpg' style='width: "+ size +"px;' />";
}
    imagewave.innerHTML = out;
}
function doImageWave(count, n) {
    sizeImageCycle(count, n);
if (n > count) n = 0;
    setTimeout("doImageWave(\"" + count + "\", " + (n + 1) + ")", 80);
}
</script>

Код HTML (вставлять между тегами <body onload="doImageWave(8, 1)"> и </body>):

<div id="imagewave"></div>