JavaScript - Función Responsive Javascript 360

 
Vista:

Función Responsive Javascript 360

Publicado por Jesús (1 intervención) el 16/05/2019 13:01:17
Buenas,

soy un poco novato o con Javascript ya que soy diseñador pero por necesidades he tenido que buscar una función para conseguir un efecto en una web.

He encontrado una función que cumple mis necesidades y a la vez sencilla pero no tengo encuentro la manera de encontrar la formula para que sea responsive. El efecto que quiero conseguir es una imagen 360 ( Sprite) que vaya girando según vaya haciéndose Scroll. El tamaño del Sprite me lo está cogiendo en pixeles pero necesitaria que fuese en porcentajes para que hiciera responsive.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<script>
$(function() {
 
  var rotator = $('#rotator');
  var container = $(document);
  var viewport = $(window);
 
  var images = 24;
  var imageHeight = 26183 / images;
  var scrollHeight = container.height() - viewport.height() + imageHeight;
  var step = images / scrollHeight;
  viewport.scroll(function(event) {
 
    if (viewport.scrollTop() > 0) {
      var x = -Math.floor(step * (viewport.scrollTop() - 0)) * imageHeight;
      rotator.css('background-position', x + 'px 0');
    }
  });
});
 
</script>

La imagen del background me la está cogiendo del css,

1
2
3
4
5
6
7
8
9
10
11
12
13
#rotator {
  font-size: 416px;
  width: 2.5em;
  height: 3em;
  position: relative;
  top: 0px;
  left: 0px;
	margin-left:-50%;
  z-index: -1;
position:fixed;
background-size:100%;
  background: transparent url(sprite_melon_total.jpg) no-repeat 0 0;
}

Muchas gracias por adelantado y un saludo!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder