Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.07.2014, 10:55
Новичок на форуме
Отправить личное сообщение для spiros Посмотреть профиль Найти все сообщения от spiros
 
Регистрация: 10.07.2014
Сообщений: 6

Анимация меню
Здравствуйте, в JQuery человек новый, только начинаю изучать. Взял код скрипта с примера и немного адаптировал, но он выполняется своеобразно, есть ряд вопросов и буду признателен за помощ.

Почему Логоип появляется только после выполнения анимации?
после того как меню "выезжает" li должны выплыть снизу, почему этого не происходит?
и почему во премя процеса анимации выезда меню оно немного смещается вверх?
Заранее благодарен.
$(function() {
                var $br_background  = $('#br_background'),
                
                $br_loading     = $br_background.find('.br_loading'),
                
                $br_content     = $('#br_content'),
                $menu           = $br_content.find('.br_menu'),
                $mainNav        = $menu.find('ul:first'),
                $menuItems      = $mainNav.children('li'),
                totalItems      = $menuItems.length,
                $ItemImages     = new Array();
                
                $menuItems.each(function(i) {
                    $ItemImages.push($(this).children('a:first').attr('href'));
                });
                            
                var Menu            = (function(){
                    var init                = function() {
                        loadPage();
                        initWindowEvent();
                    },
                    loadPage            = function() {
            
                        $br_loading.show();//show loading status image
                        //hide the loading status image
                            $.when(slideOutMenu()).done(function(){
                                        $.when(toggleMenuItems('up')).done(function(){
                                        initEventsSubMenu();
                                    });
                                });
                            $br_loading.hide();
                    },
                
                    slideOutMenu        = function() {
                        /* calculate new width for the menu */
                        var new_w   = $('.page-wrapper').width();
                        var new_w1  = 0;
                        return $.Deferred(
                        function(dfd) {
                            //slides out the menu
                            $menu.stop()
                            .animate({
                                width   : new_w + 'px'
                            }, 700, dfd.resolve);
                        }
                    ).promise();
                    },
                        /* shows / hides the menu items */
                        toggleMenuItems     = function(dir) {
                        return $.Deferred(
                        function(dfd) {
                            /*
                            slides in / out the items. 
                            different animation time for each one.
                            */
                            $menuItems.each(function(i) {
                                        var $el_title   = $(this).children('a:first'),
                                            marginTop, opacity, easing;
                                        if(dir === 'up'){
                                            marginTop   = '0px';
                                            opacity     = 1;
                                            easing      = 'easeOutBack';
                                        }
                                        else if(dir === 'down'){
                                            marginTop   = '60px';
                                            opacity     = 0;
                                            easing      = 'easeInBack';
                        }
                                $el_title.stop()
                                .animate({
                                                    marginTop   : marginTop,
                                                    opacity     : opacity
                                                 }, 200 + i * 200 , easing, function(){
                                    if(i === totalItems - 1)
                                        dfd.resolve();
                                });
                            });
                        }
                    ).promise();
                    },
            
                    initWindowEvent     = function() {
                        
                    },
                        
                    loadImages          = function() {
                
                    };
                        
                    return {
                        init : init
                    };
                })();
            Menu.init();
            });
Вложения:
Тип файла: zip br.zip (66.1 Кб, 5 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 10.07.2014, 11:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

spiros,
Сообщение от spiros
Почему Логоип появляется только после выполнения анимации?
после того как меню "выезжает" li должны выплыть снизу, почему этого не происходит?
и почему во премя процеса анимации выезда меню оно немного смещается вверх?
а вот как увидеть всё что вы спросили?
Ответить с цитированием
  #3 (permalink)  
Старый 10.07.2014, 11:19
Новичок на форуме
Отправить личное сообщение для spiros Посмотреть профиль Найти все сообщения от spiros
 
Регистрация: 10.07.2014
Сообщений: 6

рони, внизу прикреплен архив со всем.
Ответить с цитированием
  #4 (permalink)  
Старый 10.07.2014, 11:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

spiros,
увы неосилил ваш архив
Ответить с цитированием
  #5 (permalink)  
Старый 10.07.2014, 12:00
Новичок на форуме
Отправить личное сообщение для spiros Посмотреть профиль Найти все сообщения от spiros
 
Регистрация: 10.07.2014
Сообщений: 6

Очень нужна помошь!

Последний раз редактировалось spiros, 10.07.2014 в 14:19.
Ответить с цитированием
  #6 (permalink)  
Старый 10.07.2014, 15:20
Аватар для hfts_rider
Профессор
Отправить личное сообщение для hfts_rider Посмотреть профиль Найти все сообщения от hfts_rider
 
Регистрация: 26.01.2014
Сообщений: 181

Отвечаю на первый вопрос.
"Почему Логоип появляется только после выполнения анимации?"
- Потому что он делает запрос на сервер для отображения шрифта
<link  href="http://fonts.googleapis.com/css?family=PT+Sans+Narrow:regular,bold" rel="stylesheet" type="text/css" />
		<link href='http://fonts.googleapis.com/css?family=Dancing+Script' rel='stylesheet' type='text/css'>
Ответить с цитированием
  #7 (permalink)  
Старый 10.07.2014, 15:25
Аватар для hfts_rider
Профессор
Отправить личное сообщение для hfts_rider Посмотреть профиль Найти все сообщения от hfts_rider
 
Регистрация: 26.01.2014
Сообщений: 181

Возможно из-за подгрузки шрифта оно немного едет вверх, потом загружает шрифт и выравнивает, можно попробовать поставить высоту для хедера, тогда не должно ничего скакать.

Насчет списка не понял ничего. Я вижу просто список, а что с ним должно произойти и при каких действиях я так и не понял.
Ты этот код откуда скачивал? Есть ссылка на работающий пример?
Ответить с цитированием
  #8 (permalink)  
Старый 10.07.2014, 15:44
Новичок на форуме
Отправить личное сообщение для spiros Посмотреть профиль Найти все сообщения от spiros
 
Регистрация: 10.07.2014
Сообщений: 6

вот. http://tympanus.net/Tutorials/AnimatedContentMenu/
Ответить с цитированием
  #9 (permalink)  
Старый 10.07.2014, 15:48
Новичок на форуме
Отправить личное сообщение для spiros Посмотреть профиль Найти все сообщения от spiros
 
Регистрация: 10.07.2014
Сообщений: 6

с первым, действительно в шрифте проблема, спасибо.
Ответить с цитированием
  #10 (permalink)  
Старый 10.07.2014, 16:21
Аватар для hfts_rider
Профессор
Отправить личное сообщение для hfts_rider Посмотреть профиль Найти все сообщения от hfts_rider
 
Регистрация: 26.01.2014
Сообщений: 181

Нужно полностью слить страницу?
Или только Меню, без изменения фона и без всплывающих окон при клике?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделение активных пунктов многоуровневого меню на jQuery Letto Элементы интерфейса 2 04.12.2013 15:30
анимация активного пункта меню rustleofstars Элементы интерфейса 0 27.04.2013 17:56
Подсветка выделенного элемента меню ajax-сайта crayday AJAX и COMET 0 11.05.2012 12:25
Выпадающие меню like2dev Общие вопросы Javascript 9 21.10.2011 14:09
Проблема с аккордионом и меню Tie ExtJS 3 01.09.2011 14:36