Див внутри дива. У внутреннего дива:
.innderblock {
position:absolute;
width:100%;
height:100%;
left:0px;
height:0px;
background:url(......);
background-size:100%;
background-repeat:no-repeat;
background-position:center center;
width:50%;
}
У внешнего:
.block {
position:relative;
width:razmer;
height:razmer;
}
Картинки должны по размеру совпадать.
Дальше дело за малым, дитектим нажатие, после нажатия дитектим mousemove, дальше получаем позицию курсора отностиельно родительского элемента. И эту позицию устанавливаем как ширину внутреннего элемента.
Внутренний элемент это картинка с машиной с кузвом. Внешний див картинка с внутренностями.