Показать сообщение отдельно
  #1 (permalink)  
Старый 30.06.2013, 15:29
Новичок на форуме
Отправить личное сообщение для dalis Посмотреть профиль Найти все сообщения от dalis
 
Регистрация: 30.06.2013
Сообщений: 2

Сдвиг блока вправо за границу экрана
Здравствуйте!

Вот возникла необходимость сделать такую штуку:

Несколько плиток меню, при клике по любой плитке, все они уезжают вправо за экран, а слева выезжает блок с дополнительной информацией.

Реализовать это вроде проблем не составило, но стало появляться поле горизонтальной прокрутки, убрал его 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>
Ответить с цитированием