ani_css
ani_css

Reputation: 2126

jQuery works after page refresh

I'm using jQuery mash menu plugin and I have a fixed menu on the top of my page, but on responsive my fixed menu is not set to display:block itself. After page refresh it's set to display:block, but if I remove the plugin or HTML structure of the plugin everything works OK. I guess the problem is with the mash menu plugin but I have to use this plugin.

How does my fixed menu work?

My fixed menu does not appear by default but if I scroll down to reservation page it sets display:block on itself. (just responsive <768px)

edit: not just fixed menu - back to top menu doesn't work on mobile

MY JS

$(window).load(function(){
       if (!$(".hotel-search-box").length) {
     return false; //Check if the element exist
  }
  $(window).scroll(function() {
  if($(window).scrollTop() > $(".hotel-search-box").offset().top+$(".hotel-search-box").height()){
          $(".sticky-checkin").fadeIn(500);
      }else{
          $(".sticky-checkin").fadeOut(500);
      }
  });
})

MASH PLUGİN JS

  $('.mash-menu').mashableMenu({
                separator                      : true,      //-- Options (true) or (false). This option is used to show the vertical line between menu list items
                ripple_effect                  : false,      //-- Options (true) or (false). This option is used to on - off the google ripple effect on menu items. Which is shown on mouse click
                search_bar_hide                : false,     //-- Options (true) or (false). This option is used to hide the search bar
                top_fixed                      : false,     //-- Options (true) or (false). This option is used to fixed the menu top of the screen. Note: If this option becomes true then the sticky_header option will not work
                full_width                     : false,     //-- Options (true) or (false). This option is used to make the menu full with
                right_to_left                  : false,     //-- Options (true) or (false). This option is used to align the menu items right to left side order
                trigger                        : 'hover',   //-- Options (click) or (hover). This option is used to showing the drop down on mouse click or mouse hover
                /* VERTICAL TABS */
                vertical_tabs_trigger          : 'click',   // Options (click) or (hover). This option is used to showing the vertical tabs on mouse click or mouse hover
                vertical_tabs_effect_speed     : 400,       // Value in milliseconds. This option is used to change the vertical tabs showing or hiding speed
                /* RESPONSIVE TABS */
                //responsive_tabs_effect_speed   : 200,       // Value in milliseconds. This option is used to change the responsive tabs showing or hiding speed
                /* DROP DOWN */
                drop_down_effect_in_speed      : 200,       // Value in milliseconds. This options is used to change the drop downs showing speed
                drop_down_effect_out_speed     : 200,       // Value in milliseconds. This option is used for change the drop downs hiding speed
                drop_down_effect_in_delay      : 200,       // Value in milliseconds. This option is used to change the drop downs showing delay speed. It means drop down shows after some time
                drop_down_effect_out_delay     : 200,       // Value in milliseconds. This option is used to change the drop downs hiding delay speed. It means drop down hides after some time
                outside_close_dropDown         : true,      // Options (true) or (false). This option is used to hide the showing drop downs when user click outside the menu
                /* STICKY HEADER */
                mobile_search_bar_hide         : false,     //-- Options (true) or (false). This option is used to hide the search bar on mobile mode
                mobile_sticky_header           : false,     //-- Options (true) or (false). This options is used to make the menu sticky on top of the screen on mobile mode
                mobile_sticky_header_height    : 100,       //-- Value in milliseconds. This option is used to change the sticky header animation effect speed on mobile mode
                /* MEDIA QUERY WIDTH */
                media_query_max_width          : 768       //-- This is media query max width in px unit. Which is Used for mobile screen. Don't change if you don't know about media query
            });

click to demo address

edit: if you check out on responsive (<768px) you'll see that nothing happens if you scroll page down, but if you refresh the page and scroll down you'll see it works.

Upvotes: 3

Views: 599

Answers (1)

Stoycho Trenchev
Stoycho Trenchev

Reputation: 555

Your problem appears only when you resize the browser. If you open the page in <768px it works fine. There is some problem with onresize event.

Upvotes: 2

Related Questions