1 Востаннє редагувалося vanekulykov (23.10.2016 22:53:59)

Тема: Рух блоків за принципом "виїхали-заїхали"

Як реалізувати "заїзд" блоків (дзеркально виїзду) при переході по тому ж посиланню?

Для реалізації "заїзду" блоків можна використати нову ф-цію.
EVAL не використовувати
В коді реалізовано виїзд блоків "лесенкой" (так і потрібно) при переході по посиланню.




<style type="text/css">
<!-- 
#b1, #b2, #b3 {
border: solid 1px blue;
width:200px; height: 100px;
position: absolute;left:-210px;
}
#b1{top: 40px;}
#b2 {top: 140px;}
#b3 {top: 240px;} 
-->
</style>
<script type="text/javascript">
<!--
fl=0;
function mv(b,x)
{

x+=2; 
ob=document.getElementById(b);
ob.style.left=x+'px';
if ((x==-100)&&(fl==0)) {
window.setTimeout("mv('b2',-210)",20);
window.setTimeout("mv('b3',-310)",20);fl=1;
}

if (x<100){
ss="mv('"+b+"',"+x+")";
window.setTimeout(ss,20);
}

}
// -->
</script>
</head>
<body>
<a id="k" href="#" onclick="mv('b1',-210); return false;">1111111111111</a>
<div id="b1">block1</div>
<div id="b2">block2</div>
<div id="b3">block3</div>
</body>

2

Re: Рух блоків за принципом "виїхали-заїхали"

А що таке "лесенка"? І чому блоки цією "лесенкою" виїжджають ніби сходинками?
Вирівнюйте код і давайте змінним людські імена. Для економії існують мініфікатори.

3

Re: Рух блоків за принципом "виїхали-заїхали"

де можна запустити?

4

Re: Рух блоків за принципом "виїхали-заїхали"

На jsfiddle, звісно.

5

Re: Рух блоків за принципом "виїхали-заїхали"

я то знаю де.
просто маю чим зайняти 5 хвилин життя.
людині потрібно хай і перенесе туди код.

6 Востаннє редагувалося vanekulykov (25.10.2016 06:22:20)

Re: Рух блоків за принципом "виїхали-заїхали"

Key написав:

я то знаю де.
просто маю чим зайняти 5 хвилин життя.
людині потрібно хай і перенесе туди код.

Ось, розмістив. Надалі буду розміщувати так. Треба зробити в JS

http://codepen.io/Kylikov/pen/rrPoPR

7

Re: Рух блоків за принципом "виїхали-заїхали"

Загальні поради:
- перепишіть функцію на setInterval замість setTimeout;
- вирівняйте код, його боляче читати; Відступи додайте.
- трохи продумайте, в яких станах може бути ваша система блоків (за екраном - всередині - види руху). У вас наразі відстежуються два стани: початковий чи рухається один блок (fl==0) або рухаються всі блоки чи вони всі вже приїхали (fl==1).