制限があるので、文字数無理にを詰めています。
・あくまでもサンプルなので、あ~だこ~だは無し
・画像は文字で代用してます
「http」は「http」に変換のこと
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<style type="text/css">
</style>
<script type="text/javascript">
<!--
var W={
cont:["IMAGE1","☆☆","IMAGE3"],
maxI:100,
dist:20,
mode:0,
x:0,
y:Math.random()*$(window).height() |0,
intvl:100,
dir:Math.PI
};
W.set=function(m){
var w=this;
w.mode=m;
w.elm.html(w.cont[w.mode]).css({
"position":"absolute",
"left":w.x+"px",
"top":w.y+"px",
"backgroundColor":["#ff0","#f00","#0ff"][w.mode]
});
}
W.nPos=function(){
var tmp,flag=0,w=this,d=w.dist;
w.x +=Math.cos(w.dir)*d |0;
w.y +=Math.sin(w.dir)*d |0;
if(w.mode) return;
tmp=$(window).width()-w.elm.width();
if(w.x < 0) {flag=2,w.x=-w.x;} else if(w.x>tmp) {flag=2,w.x=2*tmp-w.x;}
tmp = $(window).height() - w.elm.height();
if(w.y<0) {flag=1,w.y=-w.y;} else if (w.y>tmp) {flag=1, w.y=2*tmp-w.y;}
if (flag) w.dir=-w.dir;
if (flag==2) w.dir +=Math.PI;
}
W.cBack=function(){
var w=this;
switch (w.mode) {
case 0:
w.dir +=(Math.random()*2-1)*Math.PI/8;
w.intvl=(Math.random()+0.4)*w.maxI |0;
w.move();
break;
case 1:
w.x=($(window).width()-w.elm.width())/2 |0;
w.y=-w.elm.height();
w.set(2);
w.dir=Math.PI/2;
w.dist=($(window).height()-w.elm.height())/2 |0;
w.intvl=2400;
setTimeout(function(){W.move()},1000);
break;
case 2: default:
w.elm=null;
alert("End");
break;
}
}
W.move=function(){
var w=this;
w.nPos();
w.elm.animate({left:w.x,top:w.y},{duration:w.intvl,complete:function(){W.cBack();}});
}
W.cFunc=function(){
var w=this;
w.elm.unbind("mouseover").stop();
w.dist=$(window).height()+$(window).width();
w.set(1);
w.intvl=500;
w.move();
}
$(function(){
W.elm=$("#target").mouseover(function(){W.cFunc();});
W.set(0);
W.move();
});
//-->
</script>
</head>
<body>
<div id="target"> </div>
</body>
</html>
ぼそっと…
イベントが残っているので、mode5の時にマウスでつつくとお手玉ができる
お礼
今回初めて教えてgooを使わせていただきましたが、こんなに丁寧に教えてくださる方がたくさん居られて本当に感動しました! これから教えていただいたジャバスクリプトを使い試してみようと思います! 本当にありがとうございました!!