Здравствуйте!
Вот возникла необходимость сделать такую штуку:
Несколько плиток меню, при клике по любой плитке, все они уезжают вправо за экран, а слева выезжает блок с дополнительной информацией.
Реализовать это вроде проблем не составило, но стало появляться поле горизонтальной прокрутки, убрал его overflow-x: hidden. Вроде все хорошо, но на мобильных браузерах всеравно остается возможность прокрутки до сдвинутых плиток меню. Попытался решить это при помощи fadeOut(0), после завершения анимации, на настольном вообще шикарно - можно и без overflow-x:hidden обойтись, а на мобильных браузерах стало все прыгать.
Собственно говоря, есть какой-либо способ сдвинуть блок вправо за границу экрана и так, чтобы не появлялась полоса прокрутки ни на настольных браузерах, ни на мобильных.
Вот код:
JavaScript
<script>
$('#service-logo').on('click', '#click-6', function(e){
$('#service-logo').animate({
left: "+=100%",
}, 1500 );
$('#data-6').animate({
left: "50%",
}, 1500 );
});
$('.more-data').on('click', '#close-6', function(e){
$('#service-logo').animate({
left: "-=100%"
}, 1500 );
$('#data-6').animate({
left: "-100%",
}, 1500 );
});
</script>
Разметка
<article>
<div class="more-data" id="data-6">Lorem IPSUM Dolor
<p class="service-close" id="close-6">X</p>
</div>
<ul id="service-logo">
<li id="click-6">
<p>LOREM IPSUM</p>
<img src="images/service-logos/service-logo-6.png" />
<div class="description">***<br />
Lorem ipsum 1<br />
Lorem ipsum 2<br />
Lorem ipsum 3<br />
Lorem ipsum 4<br />
***</div>
</li>
</ul>
</article>
Стили
Код:
|
<style>
#service-logo {
position: absolute;
width: 1200px;
height: 520px;
margin: 0 auto;
}
#service-logo li {
float: left;
width: 200px;
height: 520px;
background: #b0b0b0;
border: 2px dashed #d1d1d1;
color: #f6f6f6;
}
#service-logo img {
width: 140px;
margin: 20px 0 0 30px;
}
#service-logo li p {
text-align: center;
margin: 5px 0 0 0;
}
.description {
text-align: center;
line-height: 48px;
}
.more-data {
width: 1000px;
max-height: 518px;
position: absolute;
left: -100%;
margin-left: -530px;
background: #b0b0b0;
outline: 2px dashed #cdcdcd;
padding: 40px 20px 10px 20px;
color: white;
}
.service-close {
position: absolute;
top: 7px;
right: 10px;
cursor: pointer;
}
</style> |