Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Паравозик двигается слева направо (https://javascript.ru/forum/dom-window/61412-paravozik-dvigaetsya-sleva-napravo.html)

RuslanJS 17.02.2016 12:22

Паравозик двигается слева направо
 
Задача заставить ехать паравозик слева направо при прокрутке страницы сайта вниз.

Начинаешь крутить страницу вниз и слева страницы начинает выезжать паравозик.

RuslanJS 17.02.2016 12:38

https://jsfiddle.net/IonDen/v8ubpuee/

рони 17.02.2016 12:43

RuslanJS,
вы хвастаитесь или есть какая-то проблема?

destus 17.02.2016 12:44

рони,
а где собственно сам паровозик? :cray:

RuslanJS 17.02.2016 12:50

Цитата:

Сообщение от рони (Сообщение 408151)
RuslanJS,
вы хвастаитесь или есть какая-то проблема?

так будет правильно?

рони 17.02.2016 13:34

RuslanJS,
?

RuslanJS 17.02.2016 14:06

Цитата:

Сообщение от рони (Сообщение 408157)
RuslanJS,
?

хотелось бы спрятать блок слева за границу, и докрутив чтоб тоже спрятался, но при прокрутке сразу left: 0, как можно задать начальную позицию и конечную?

рони 17.02.2016 14:38

паравозик как индикатор скролинга
 
RuslanJS,
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="//code.jquery.com/jquery-git.js"></script>
<link rel="stylesheet" type="text/css" href="/css/result-light.css">
<style type="text/css">
    .spacer {
    position: relative;
    height: 2500px;
    width: 100px;
}

.paravozik {
    position: fixed;
    bottom: 0; left: 0;
    width: 100px;
    height: 50px;
    background:  transparent  url(http://www.cshrzc.com/Match/images/join.gif) no-repeat;
    background-size: cover;
    margin-left: -100px;
  -webkit-transition: -webkit-transform .3s ease-in-out;
    -moz-transition: -moz-transform .3s ease-in-out;
    -o-transition: -o-transform .3s ease-in-out;
    transition: transform .3s ease-in-out;
}
.right {
  -webkit-transform: rotateY(-180deg);
  -moz-transform: rotateY(-180deg);
  -o-transform: rotateY(-180deg);
  transform: rotateY(-180deg);
}

  </style>
<title> by IonDen</title>
</head>

<body>
<div class="spacer"></div>

<div class="paravozik right"></div>
<script>
window.addEventListener('DOMContentLoaded', function() {
    var temp = 0;
  window.addEventListener('scroll', function() {
    var height = document.documentElement.clientHeight,
    width = document.documentElement.clientWidth,
    el = document.querySelector(".paravozik"),
    widthEl = el.clientWidth,
    fullHeight = document.documentElement.scrollHeight;
    var p = window.pageYOffset/(fullHeight - height);
    var left = (width + widthEl)* p|0;
       el.classList[p != 1 && (!left || temp  < left) ?   "add":"remove"]("right");
       temp = left;
       el.style.left = left + "px";
  });
    });

</script>
</body>

</html>

RuslanJS 17.02.2016 14:47

не могу поставить плюсик, большое спасибо, сотый раз выручаете ))

RuslanJS 17.02.2016 15:28

спасибо за повороты, детишки и их родители очумеют )


Часовой пояс GMT +3, время: 06:14.