Okay
  Public Ticket #906052
Logo Bug in Nectar Slider
Closed

Comments

  •  2
    Nguyen started the conversation

    I have those problems with Nectar Slider, I tested and it happens with your salient-blog demo too:

    1. If I click the right sidebar button, close it, click search button, the dropdown menu (which is for small screen) shows up instead.
    2. On retina screen, when I scroll down, the logo on menu bar disappears. It does not happen on normal screen. I checked and see you didn't add the retina-logo to original span in nectarslider.js, plus you didn't hide the the non-retina logo for small screen in responsive.js, so I have to edit them both.
    3. On retina screen, if I open the home page (with nectar slider) in small mode (menu with centered logo) then expand the window to switch to transparent menu, the logo disappears. If I open in full mode initially, the logo shows up. It does not happen with other page so it maybe nectarslider bug. I checked and found out that a#logo width is not set correctly on retina screen. On retina screen, it is always 0.
  •  9,174
    Tahir replied

    Hey Nguyen,

    The demos dont run the Latest Theme files . Could you provide your site url where we can see the issue. 

    Also please go through this checklist quickly so we can rule out common issues https://themenectar.ticksy.com/article/5032/ .

    Best.


    ThemeNectar Support Team 

  •  2
    Nguyen replied

    I'm using the latest version from themeforest (7.5.0.2). Unfortunately haven't published the website yet.

    However I'm sure that I'm using latest files 7.5.0.2 and the bugs I reported are the same as your salient-blog. I checked for updates from themeforest but no update is found. I'm trying to solve those issues on my localhost.

  •  2
    Nguyen replied

    Here is my progress:

    #2: Solved

    In nectarslider.js, function directionalNavColorInit(), you only add img:first to .original, but doesn't add .retina-logo -> Add retina-logo to .original in directionalNavColorInit().

    Then, in responsive.css:

    @media only screen and (-webkit-min-device-pixel-ratio: 1.5) and (max-width : 1000px), only screen and (min-device-pixel-ratio: 1.5) and (max-width : 1000px), only screen and (min-resolution: 144dpi) and (max-width : 1000px) {
        #header-outer.transparent.directional-nav-effect header#top #logo span.original img.default-logo {
            display: block!important;
        }
    }

    Set 

    display:none#important 

    to hide the non-retina default-logo on retina screens.

    #3: Solved

    - logo doesn't show when switching from mobile to non-mobile because #logo is set to 0 because of this nectar-slider.js. For some reason $('.retina-logo').width() returns 0.

    //retina logo fix
    if($('.retina-logo:visible').length > 0) $($selector+' header#top #logo').css('width',$('.retina-logo').width());

    Remove the fix solves the problem.

    - Switching from mobile to non-mobile doesn't update the header skin correctly based on current slide because you only update the width on non-mobile mode (nectar-slider.js):

                        if($('body.mobile').length == 0) { 
                            $('#header-outer nav > ul.sf-menu > li > a, #header-outer nav > ul.buttons > li#search-btn a, #header-outer nav > ul.buttons > li.slide-out-widget-area-toggle a > span, #header-outer .cart-icon-wrap, header#top #logo').each(function(){
                                var $itemWidth = parseInt($(this).find('span.original').attr('data-w'));                             $(this).find('span.light').css('display','inline').transition({'margin-left': '0'},0).css('display','inline').transition({'width' :  $itemWidth }, 325, 'easeInOutQuart');
                                $(this).find('span.light > span').transition({'margin-left': '0'},0);
                                $(this).find('span.dark').css('display','inline-block').transition({'margin-left': $itemWidth, 'width' :  '0' }, 325, 'easeInOutQuart');
                                $(this).find('span.dark > span').transition({'margin-left':  '-' + ($itemWidth) + 'px', 'width' :  $itemWidth }, 325, 'easeInOutQuart');
                            });
                        }

    To prepare for switching to non-mobile mode, update the width too:

                        else{
                            $('#header-outer nav > ul.sf-menu > li > a, #header-outer nav > ul.buttons > li#search-btn a, #header-outer nav > ul.buttons > li.slide-out-widget-area-toggle a > span, #header-outer .cart-icon-wrap, header#top #logo').each(function(){
                                $(this).find('span.dark').css({'display':'inline','width' :  '0'});
                                $(this).find('span.light').css({'display':'inline-block', 'width' :  "" });
                            });
                        }
  •  2
    Nguyen replied

    #3: Solved

    In Init.js, when user clicked on normal sidebar button, you mistakenly change class of the hidden mobile menu

        $('.slide-out-widget-area-toggle > div > a').removeClass('closed').addClass('open');
        $('.slide-out-widget-area-toggle > div > a').addClass('animating');

    Adding :not(.std-menu) solves the problem

        $('.slide-out-widget-area-toggle:not(.std-menu) > div > a').removeClass('closed').addClass('open');
        $('.slide-out-widget-area-toggle:not(.std-menu) > div > a').addClass('animating');

    After the fix, the #toggle-nav only shows "closed" but it works as intended.

  •  9,174
    Tahir replied

    Hey Again,

    Thanks for the Code Fix. Assigning it to the Developer so that he may add in a response and look into this for upcoming updates. 

    Bes.t 


    ThemeNectar Support Team