Как получить скользящий элемент меню, который не двигается, если страница не прокручивается до определенной точки - PullRequest
3 голосов
/ 22 октября 2008

У меня есть элемент меню, который я хочу сдвинуть вниз, чтобы он всегда был виден, но я хочу, чтобы он располагался под моим заголовком. Я не хочу, чтобы он двигался до тех пор, пока верхняя часть меню не достигнет верхней части экрана, а затем осталась на месте. По сути, мне нужно скользящее меню с максимальной высотой, на которое оно может скользить.

Ответы [ 2 ]

8 голосов
/ 22 октября 2008

Мне кажется, я понимаю, о чем вы говорите - мы использовали похожую технику на King с jQuery. Вот как:

///// CONFIGURATION VARIABLES:

var name                = "#rightsidebar";
var menu_top_limit      = 241;
var menu_top_margin     = 20;
var menu_shift_duration = 500;
var menuYloc = null;
///////////////////////////////////

$(window).scroll(function() 
{ 
    // Calculate the top offset, adding a limit
    offset = menuYloc + $(document).scrollTop() + menu_top_margin;

    // Limit the offset to 241 pixels...
    // This keeps the menu out of our header area:
    if(offset < menu_top_limit)
        offset = menu_top_limit;

    // Give it the PX for pixels:
    offset += "px";

    // Animate:
    $(name).animate({top:offset},{duration:menu_shift_duration,queue:false});
});

(Шляпа для @ soyrex , который написал этот код.)

0 голосов
/ 22 октября 2008

Slashdot делает это. Проверьте это, например, http://tech.slashdot.org/tech/08/10/22/1246200.shtml

Вы можете поднять технику с их сайта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...