だんだん飛ばなくなるチョウチョ  (・・??      
Sample
ここをクリックして新しいウインドウを開いてください。

ソース
<HTML>
<HEAD>

<SCRIPT LANGUAGE="JavaScript">
function CheckBrowser() {
  var b = navigator.appName;
  if (b == "Netscape") this.b = "NS";
  else if (b == "Microsoft Internet Explorer") this.b = "IE";
  else this.b = b;
  this.v = parseInt(navigator.appVersion);
  this.NS = (this.b == "NS" && this.v>=4);
  this.NS4 = (this.b == "NS" && this.v == 4);
  this.NS5 = (this.b == "NS" && this.v == 5);
  this.IE = (this.b == "IE" && this.v>=4);
  this.IE4 = (navigator.userAgent.indexOf('MSIE 4')>0);
  this.IE5 = (navigator.userAgent.indexOf('MSIE 5')>0);
  if (this.IE5 || this.NS5) this.VER5 = true;
  if (this.IE4 || this.NS4) this.VER4 = true;
  this.OLD = (! this.VER5 && ! this.VER4) ? true : false;
  this.min = (this.NS||this.IE);
}
is = new CheckBrowser();
//-->
</script>

</HEAD>
<BODY>
 好きなところでマウスの左ボタンをクリックしてください。<br>
<div id="cyocyo" style="position:relative;visibility:visible">
<img src=ani_hosi.gif>
</div>
</center>
<div id="cyou" style="visibility:hidden; position:absolute; left:100; top:10; height:34; width:34">
<img src=ani_hosi.gif>
</div>

<script language="Javascript">
<!--
iter = 0;
setId = 0;
down = true;
up = false;
bouncingcyou = (is.VER5) ? document.getElementById("cyou").style
: (is.NS) ? document.layers["cyou"]
: document.all["cyou"].style;
stillcyou = (is.VER5) ? document.getElementById("cyocyo").style
: (is.NS) ? document.layers["cyocyo"] : document.all["cyocyo"].style;
WinHeight = (is.NS) ? window.innerHeight - 55 : document.body.offsetHeight - 55;
document.onmouseup = buttonUp;
if (is.NS4) document.captureEvents(Event.MOUSEUP);
function buttonUp(e) {
  if ( ((is.NS) ? e.which : event.button) != 1) return true;
  if (setId != 0) clearInterval(setId);
  bouncingcyou.visibility="visible";
  stillcyou.visibility="hidden";
  bouncingcyou.left = (is.NS) ? e.pageX - 15 : event.offsetX - 15;
  bouncingcyou.top = (is.NS) ? e.pageY - 15 : event.offsetY - 15;
  iter = 0;
  setId = setInterval("generateGravity()", 10);
  return true;
}
function generateGravity() {
  if ((parseInt(bouncingcyou.top)+iter < WinHeight) && down) {
    bouncingcyou.top = parseInt(bouncingcyou.top) + iter;
    iter++;
    return;
  }
  else {
    if ((parseInt(bouncingcyou.top)< WinHeight) && down) {
      bouncingcyou.top = WinHeight + 5;
      return;
    }
    down = false;
    up = true;
    if (iter < 0 && parseInt(bouncingcyou.top) > WinHeight) {
      clearInterval(setId);
      bouncingcyou.visibility = "hidden";
      stillcyou.visibility="visible";
      setId = 0;
    }
    if (parseInt(bouncingcyou.top) > 0 && up && iter >= 0) {
      bouncingcyou.top = parseInt(bouncingcyou.top) - iter;
      iter--;
      if (iter%3 == 0) iter--;
      return;
    }
    down = true;
    up = false;
  }
}
//-->
</script>

<br><br><br><br><br><br>
<FORM>
<INPUT TYPE=button VALUE="ウインドウを閉じる" onClick=window.close()>
</FORM>
</body>
</HTML>
ワンポイント解説
WinHeightで、落下最終点を設定しています。