Как избежать поведения страницы по умолчанию при переходе на ТОП при появлении наложения? - PullRequest
0 голосов
/ 17 марта 2011

У меня есть кликабельная кнопка внизу. Как только я нажимаю на кнопку, она открывает оверлей, но страница переходит на TOP (я имею в виду, Page идет вверх, так же, как при загрузке) Я хочу избежать такого поведения, и страница должна быть в центре только снизу, а не прыгать в ТОП, когда появляется мой оверлейный див.

Мой код

onclick="showOverLay();"

function showOverLay()
{
 $('.overlayBarcode').fadeIn('normal');
 return false;
}


div.overlayBarcode {
    background: url("/DiscoverCenter/images/white.png") no-repeat ;
    _background: url("/DiscoverCenter/images/white.png") no-repeat ;
    display: none;
    margin: auto;
    padding:  40px;
    width: 576px;
    z-index: 10000;
}

Пожалуйста, дайте мне знать, как решить эту проблему. Я пытаюсь это так долго.

Спасибо

Ответы [ 3 ]

3 голосов
/ 17 марта 2011

Это ссылка? С хеш-меткой для href? Если так, то это виновник.

1 голос
/ 05 мая 2015

Вы должны запретить настройку по умолчанию в вашей функции щелчка

Это просто пример функции

$('a.some_class').click(function(e){
    e.preventDefault();
    var some_example = document.getElementById('artist_one').offsetHeight;
    $('#some_id').css("height", container_height );
});
0 голосов
/ 17 марта 2011

Почему бы вам просто не взять и не восстановить свиток?

var showOverLay = function(){
    var curScroll = $(window).scrollTop();

    $('.overlayBarcode').fadeIn('normal', function(){
        $(window).scrollTop(curScoll);
    });

    return false;
};

или

var showOverLay = function(){
    var curScroll = $(window).scrollTop();

    $('.overlayBarcode').fadeIn('normal');
    $(window).scrollTop(curScoll);

    return false;
};
...