JSFiddle - React, Tailwind, and code Playground

HTML

<div id="window">
  <div id="slider" class="zoomed">
     <div id="obj1">1</div>
     <div id="obj2">2</div>
     <div id="obj3">3</div>
     <div id="obj4">4</div>
     <div id="obj5">5</div>
  </div>
</div>

CSS

body {
  background-color: #eee;
  margin-top:100px;
}

#window {
  width: 500px;
  height: 200px;
  margin: 0 auto;
  overflow-x: scroll;
  overflow-y: hidden;
  border: 1px solid #999;
}

#slider {
  width: 900px;
  height: 600px;
  background-color: #fff;
  position: relative;
  transition: 2s;
  transform-origin: 0 0;
}

#slider.zoomed {
  transform: scale(0.55);
}

#slider div {
  width: 50px;
  height: 50px; 
  line-height: 50px;
  position: absolute;
  top: 75px;
  background-color: #eee;
  text-align: center;
}
#obj1 {
  left: 10px;
}
#obj2 {
  left: 210px;
}
#obj3 {
  left: 410px;
}
#obj4 {
  left: 610px;
}
#obj5 {
  left: 810px;
}

JavaScript

var slider = $("#slider").on('click', function(event) {
  if (!slider.hasClass('zoomed')) {
    // zoom back to left position
  	$('#window').animate({scrollLeft:'0px'});
  }else{
    // zoom to click position within slider
    $('#window').animate({scrollLeft:event.clientX + 'px'}, 2000);
  }
  slider.toggleClass("zoomed");
});

/* stop window scrolling when using slider */
slider
	.on('mouseover', function () {
		$(document.body).css({overflow:'hidden'});
	})
  .on('mouseout', function () {
		$(document.body).css({overflow:'auto'});
	});