Note that there are some explanatory texts on larger screens.

plurals
  1. POOff-Screen Toggle Show Not Showing
    primarykey
    data
    text
    <p>We are working on integrating HighCharts into our existing ASP.NET sites and have come across a known bug. This bug is that elements that are initially set to display:none and then toggled to be shown display incorrectly because some browsers cannot calculate the dimensions of a hidden object (IE8 for example). The fix put forward <a href="http://highslide.com/forum/viewtopic.php?f=10&amp;t=10712" rel="nofollow">here</a> and <a href="http://jqueryui.com/demos/tabs/#Why_does.." rel="nofollow">here</a>(at bottomof page) is to do this:</p> <pre><code>.hidden-container { position: absolute; top: -9999em; } </code></pre> <p>This is all well and good if you are using a jQuery CSS to set the locations. We are setting the locations and other attributes in the code behind like:</p> <pre><code> If showExpanded Then collapsedPanel.Style.Item("Display") = "none" expandedPanel.Style.Item("Display") = "block" Else collapsedPanel.Style.Item("Display") = "block" expandedPanel.Style.Item("Display") = "none" End If </code></pre> <p>This I can edit for these chart panels to something like:</p> <pre><code> If showExpanded Then collapsedPanel.Style.Item("Display") = "none" expandedPanel.Style.Item("Display") = "block" Else collapsedPanel.Style.Item("Display") = "block" expandedPanel.Style.Item("position") = "absolute" expandedPanel.Style.Item("top") = "-9999em" End If </code></pre> <p>We are toggling the hidden/show panels like so in a javascript file:</p> <pre><code>function showHidePanelToggle(ctlID, sPnlID, hPnlID) { var chkBoxID = $('#' + chkID); var controlID = $('#' + ctlID); var showPanelID = $('#' + sPnlID); var hidePanelID = $('#' + hPnlID); if (controlID.attr('type') == 'checkbox') { chkID = false; if (controlID.is(':checked')) { showPanelID.slideUp('normal'); hidePanelID.slideDown('normal'); } else { showPanelID.slideDown('normal'); hidePanelID.slideUp('normal'); } } else { ctlID = false; if ((hidePanelID).is(':hidden')) { showPanelID.slideUp('normal'); hidePanelID.slideDown('normal'); chkBoxID.attr('checked', true); return false; } else { showPanelID.slideDown('normal'); hidePanelID.slideUp('normal'); chkBoxID.attr('checked', false); return false; } } } </code></pre> <p>I have added checks to see if I am in the panels that are special (charts) and I am doing this:</p> <pre><code>if ((hidePanelID).position(':absolute')) { showPanelID.slideUp('normal'); hidePanelID.slideDown('normal'); chkBoxID.attr('checked', true); return false; } else { showPanelID.slideDown('normal'); hidePanelID.slideUp('normal'); chkBoxID.attr('checked', false); return false; } </code></pre> <p>This is not reshowing my panel (I am guessing because it is still set at -9999em.</p> <p>My question is, how can I get my off-screen panel to show up correctly? We are not using a jQuery CSS file to set hidden/shown and rewriting the entire system to use this new CSS is a nonstarter, unfortunately.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload