У меня есть проект, который мне нужен, чтобы сделать аквариум, и рыбы внутри собираются по клику.
Я сделал все, но вот проблема, программа должна работать над изменением размера.
Что я пытаюсь сказать. Если я изменю размер окна браузера, рыбы должны снова появиться в видимом месте окна и продолжать плавать.
Вот мой код:
<!DOCTYPE html>
<html>
<head>
<style>
body{background-color:aqua; width:100%; height:100%;padding:0; margin:0;}
img{width:50px; height:50px;}
div{position:absolute;}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
i = 0;
function swim(fishid){
newLeft = Math.random()*1200; // due to new width
newTop = Math.random()*600; //due to new height
do_move(fishid, newTop, newLeft, Math.random()*1000);
}
function do_move(fishid, topPos, leftPos, timeToMove=0){
$("#"+fishid).css({"transform": "rotateY(0deg)"});
ll = leftPos + 'px';
tt = topPos + 'px';
if( parseInt($("#"+fishid).css('left'))>leftPos){
$("#"+fishid).css({"transform": "rotateY(180deg)"});
}
$("#"+fishid).animate({"left": ll, "top": tt}, 1000+timeToMove, function(){swim(fishid);});
}
$(document).ready(function(){
let fishes = Math.random()*5+5;
for(i=0; i<fishes; i++){
$("body").append('<div id="fish'+ i + '"><img src="http://icons.iconarchive.com/icons/icons8/ios7/256/Animals-Fish-icon.png"></div>');
swim("fish" + i);
}
$("*").click(function(ev){
$("div").each(function(){
$(this).stop();
do_move($(this).attr("id"), ev.pageY-25, ev.pageX);
});
});
$ ( window ).resize(function(){});// I have to do it with this also
});
</script>
</head>
<body>
</body>
</html>