Создание фиксированной панели управления для ipad с использованием jquery - PullRequest
0 голосов
/ 16 декабря 2010

У меня есть этот код jquery, который для обычного браузера позволяет вам иметь липкий заголовок.Таким образом, по умолчанию он показывает содержимое заголовка, где вы хотите, тогда, когда вы прокручиваете, этот заголовок останется с вами, когда вы прокручиваете.Проблема в том, что он не работает на iPad.Может кто-нибудь взглянуть на код и посмотреть, могу ли я что-то изменить, чтобы это работало на iPad?

// Fixed control bar
        var controlBar = $('#control-bar');
        if (controlBar.length > 0)
        {
            var cbPlaceHolder = controlBar.after('<div id="cb-place-holder" style="height:'+controlBar.outerHeight()+'px"></div>').next();

            // Effect
            controlBar.hover(function()
            {
                if ($(this).hasClass('fixed'))
                {
                    $(this).stop(true).fadeTo('fast', 1);
                }

            }, function()
            {
                if ($(this).hasClass('fixed'))
                {
                    $(this).stop(true).fadeTo('fast', 1);
                }
            });

            // Listener
            $(window).scroll(function()
            {
                // Check top position
                var controlBarPos = controlBar.hasClass('fixed') ? cbPlaceHolder.offset().top : controlBar.offset().top;

                if ($(window).scrollTop() > controlBarPos)
                {
                    if (!controlBar.hasClass('fixed'))
                    {
                        cbPlaceHolder.height(controlBar.outerHeight()).show();
                        controlBar.addClass('fixed').stop(true).fadeTo('slow', 1);

                        // Notifications
                        $('#notifications').animate({'top': controlBar.outerHeight()+notificationsTop});
                    }
                }
                else
                {
                    if (controlBar.hasClass('fixed'))
                    {
                        cbPlaceHolder.hide();
                        controlBar.removeClass('fixed').stop(true).fadeTo('fast', 1, function()
                        {
                            // Required for IE
                            $(this).css('filter', '');
                        });

                        // Notifications
                        $('#notifications').animate({'top': notificationsTop});
                    }
                }
            }).trigger('scroll');
        }

1 Ответ

0 голосов
/ 10 июня 2011

Ответом было использование другого решения, такого как sencha touch.

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