Как реализовать прокрутку до элемента с помощью scrollTop при body {zoom:90%} ?
Здравствуйте.
Сайт http://marvelestate.ru. На сайте реализована прокрутка до блока с ID по клику на пункт меню.
$('.main_menu a').click(function () {
var elementClick = $(this).attr('href');
var destination = $(elementClick).offset().top;
$('body').animate({ scrollTop: destination }, 1000);
return false;
});
Все работает, все ок. Но по прошествии некоторого времени заказчику захотелось изменить масштаб задав Код:
body {Теперь соответственно скролл работает некорректно. Как привязать скролл к масштабированию? Благодарю. |
rebroff,
в чём проблема то ? добавить поправку на zoom |
рони,
В этом то и проблема. Не знаю, как. Пробовал destination*0.9. Не то. |
Цитата:
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
body {
zoom: 0.9;
}
#first{
margin-top: 1000px;
}
.info_show{
height: 1000px;
display: block;
}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$(function(){
$('.main_menu a').click(function () {
var destination = $(this.hash).offset().top,
zoom = +$('body').css('zoom') || 1;
$('body, html').animate({ scrollTop: destination * zoom }, 1000);
return false;
});
});
</script>
</head>
<body>
<div class='main_menu'><a href="#first">first</a>
</div>
<div id='first'>
<span class='info'>Информация3</span>
<div class='main'>
<span class='info_show '>текст3</span>
</div>
</div>
</body>
</html>
|
рони,
не получается. Причем бывает, что два раза подряд кликаю по одному и тому же пункту в меню и экран прокручивается на разные расстояния. Убираю zoom - все ок. Вот сайт: http://marvelestate.ru |
rebroff,
скопируйте код ещё раз |
Цитата:
|
Цитата:
Все равно не работает. |
rebroff,
а нафига вместо
<style type="text/css">
body {
zoom: 0.9;
}
</style>
<body style="zoom:0.9; /*transform: scaleX(0.9);*/"> |
рони,
да это заказчик (или его айтишнеги) так указал зум перенес в файл стилей |
| Часовой пояс GMT +3, время: 14:26. |