- Posts: 6753
- Thank you received: 718
Responsive dropdown menu bug
-
milos
Support Staff - Moderator
Less
More
11 years 10 months ago #26598
by milos
Replied by milos on topic Responsive dropdown menu bug
Two more things to make it work better:
Edit template's index.php file and change line
to
and change this part in file /js/tinynav.js
to this
Edit template's index.php file and change line
Code:
<?php if($enableResponsiveMenu){ ?><script type="text/javascript" src="<?php echo $template_path ?>/js/tinynav.min.js"></script>
Code:
<?php if($enableResponsiveMenu){ ?><script type="text/javascript" src="<?php echo $template_path ?>/js/tinynav.js"></script>
Code:
// Select the active item
if (!settings.header) {
$select
.find(':eq(' + $(l_namespace_i + ' li')
.index($(l_namespace_i + ' li.' + settings.active)) + ')')
.attr('selected', true);
}
Code:
// Select the active item
if (!settings.header) {
$select
.find(':eq(' + $(l_namespace_i + ' li')
.index($(l_namespace_i + ' li.' + settings.active)) + ')')
.attr('selected', false);
}
Please Log in to join the conversation.
-
MrDooh
Inactive member - Topic Author
- New Member
Less
More
- Posts: 12
- Thank you received: 0
11 years 10 months ago #26627
by MrDooh
Replied by MrDooh on topic Responsive dropdown menu bug
Hi milos,
thx for taking care of this bug. I did all the changes you suggested, but it doesn't make things really better on my Galaxy S3 (720x1280) and two other Android devices (Galaxy Ace & Galaxy S2, always used stock browser). There is still no chance to navigate, no chance to click on another menu item, so fast does the menu disappear again after popping up short on the bottom of the screen, not in the middle as seen on Manymo. The only change the custimization has made, was that the menu button takes place on the right hand of the logo and covers half of it. There is still a empty white bar on the left of the button (former active item 'contact'). In landscape mode the menu callapses on my 1280x720 device and covers the whole logo. Watch it yourself on tineundholly.trauensich.net . Hope this helps, and forget about the emulator, the menu seems to work there, but on a real Android smartphone it doesn't
Maybe it is possible to hide the 'active item' on the left of the menu button completely. Took a look myself, but didn't find a solution for this bug, too. Maybe changing the tinynav script at all is the right way?
Hope you find a solution for this.
Thx, Dooh
thx for taking care of this bug. I did all the changes you suggested, but it doesn't make things really better on my Galaxy S3 (720x1280) and two other Android devices (Galaxy Ace & Galaxy S2, always used stock browser). There is still no chance to navigate, no chance to click on another menu item, so fast does the menu disappear again after popping up short on the bottom of the screen, not in the middle as seen on Manymo. The only change the custimization has made, was that the menu button takes place on the right hand of the logo and covers half of it. There is still a empty white bar on the left of the button (former active item 'contact'). In landscape mode the menu callapses on my 1280x720 device and covers the whole logo. Watch it yourself on tineundholly.trauensich.net . Hope this helps, and forget about the emulator, the menu seems to work there, but on a real Android smartphone it doesn't
Maybe it is possible to hide the 'active item' on the left of the menu button completely. Took a look myself, but didn't find a solution for this bug, too. Maybe changing the tinynav script at all is the right way?
Hope you find a solution for this.
Thx, Dooh
Please Log in to join the conversation.
-
ivan.milic
Support Staff - Moderator
Less
More
- Posts: 14116
- Thank you received: 1639
11 years 10 months ago #26689
by ivan.milic
Replied by ivan.milic on topic Responsive dropdown menu bug
This may help, open layout.css and find:
.topmenurow {
position: fixed;
top: 0;
width: 100%;
background: rgba(255,255,255,.95);
z-index: 1;
box-shadow: 0px 1px 5px #ddd;
}
change position: fixed; to position: absolute;
.topmenurow {
position: fixed;
top: 0;
width: 100%;
background: rgba(255,255,255,.95);
z-index: 1;
box-shadow: 0px 1px 5px #ddd;
}
change position: fixed; to position: absolute;
Please Log in to join the conversation.
-
MrDooh
Inactive member - Topic Author
- New Member
Less
More
- Posts: 12
- Thank you received: 0
11 years 10 months ago #26698
by MrDooh
Replied by MrDooh on topic Responsive dropdown menu bug
I tried this, but now the menu is absolute and no more accessible on ankers. Neither more, it still doesn't work on Android (click menu button, menu pops up and disappears). Not the best solution I think. Is there a possibility to hide the active item name, so that only the menu button is visible on the right hand of the logo? So, menu and logo do no more overlap in portrait mode. But this would only make sense if the menu would work
Hoping for another solution,
Dooh
Hoping for another solution,
Dooh
Please Log in to join the conversation.
-
milos
Support Staff - Moderator
Less
More
- Posts: 6753
- Thank you received: 718
11 years 10 months ago - 11 years 10 months ago #26738
by milos
Replied by milos on topic Responsive dropdown menu bug
I think I found out why it doesn't work on Android. Actually, it works in the latest version (Jelly Bean), but doesn't work on older. The reason is:
which (older) Android's browser doesn't recognize. To fix this, change file hot_onepage.js to be like this:
This will make the menu row to appear on all Android versions, but it would not be fixed. If you don't change this file, the top menu row will work only on Jelly Bean devices (will be static, as on desktop version).
Code:
position:fixed;
which (older) Android's browser doesn't recognize. To fix this, change file hot_onepage.js to be like this:
Code:
jQuery(document).ready(function(){
// calling tabs
jQuery("#tabs").tabs();
jQuery(".scroll, .mp_topmenu a:not(.external)").click(function(event){
event.preventDefault();
try{
jQuery('html,body').animate({scrollTop:jQuery(this.hash).offset().top}, 500);
}catch(e){
jQuery('html,body').animate({scrollTop:0}, 500);
}
});
// set big image container height
var bodyHeight = jQuery(window).height();
var bodyHeightSinglePage = jQuery(window).height() - 240;
jQuery('.fullwidth').css('height', bodyHeight);
jQuery('div.item-page').css('min-height', bodyHeightSinglePage);
if( /Android/i.test(navigator.userAgent) ) {
jQuery('.topmenurow').css('position','static');
}
});
This will make the menu row to appear on all Android versions, but it would not be fixed. If you don't change this file, the top menu row will work only on Jelly Bean devices (will be static, as on desktop version).
Last edit: 11 years 10 months ago by milos.
Please Log in to join the conversation.
Time to create page: 0.100 seconds