UNPKG

accessibility-developer-tools

Version:

This is a library of accessibility-related testing and utility code.

139 lines (124 loc) 3.9 kB
<!DOCTYPE html> <html> <!-- Copyright 2008 The Closure Library Authors. All Rights Reserved. Use of this source code is governed by the Apache License, Version 2.0. See the COPYING file for details. --> <!-- --> <head> <title>ScrollFloater</title> <script src="../base.js"></script> <script> goog.require('goog.dom'); goog.require('goog.events'); goog.require('goog.ui.ScrollFloater'); goog.require('goog.ui.ToggleButton'); </script> <link rel="stylesheet" href="../css/button.css"> <style> table { border: 1px solid black; width: 100%; height: 1500px; } .left-cell { color: black; background-color: lightgray; width: 33%; vertical-align: top; } .cell { background-color: lightblue; width: 33%; vertical-align: top; } .spacer { border: 1px solid black; height: 200px; } .goog-scrollfloater { border: 1px solid black; height: 150px; width: 90%; color: black; background-color: blue; background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#a4e7fc), color-stop(100%,#00aadd)); background: gradient(linear, left top, left bottom, color-stop(0%,#a4e7fc), color-stop(100%,#00aadd)); } #floater3 { padding-top: 500px; } </style> </head> <body> <form action="javascript:void(0)"> <table style="border: 1px solid black"> <tr> <td class="left-cell"> <div class="spacer"> This content does not float. </div> <div class="spacer"> This content does not float. </div> <div id="floater1"> This floater is constrained within a container and has a top offset of 50px. </div> </td> <td class="cell"> <div class="spacer"> This content does not float. </div> <div id="floater2container"> </div> </td> <td class="cell"> <div class="spacer"> This content does not float. </div> <!-- The purpose of this position:relative element is to ensure that we're checking more than just the offsetTop of the floating child. --> <div style="position: relative"> <div id="floater3"> This floater is very tall. <p> This tall floater is pinned to the bottom of the window when your window is shorter and floats at the top when it is taller. </div> </div> </td> </tr> </table> <div style="height:1500px"></div> <p>This is the bottom of the page.</p> </form> <script> var parentForm = document.getElementsByTagName('form')[0]; var scrollfloater1 = new goog.ui.ScrollFloater(); var button1 = new goog.ui.ToggleButton("Enable Floater 1"); button1.render(goog.dom.getElement('floater1')); scrollfloater1.setViewportTopOffset(50); scrollfloater1.setContainerElement(goog.dom.getElement('floater1').parentElement); scrollfloater1.decorate(goog.dom.getElement('floater1')); var scrollfloater2 = new goog.ui.ScrollFloater(); var button2 = new goog.ui.ToggleButton("Enable Floater 2"); scrollfloater2.addChild(button2, true); scrollfloater2.render(goog.dom.getElement('floater2container')); var scrollfloater3 = new goog.ui.ScrollFloater(); scrollfloater3.decorate(goog.dom.getElement('floater3')); function setupClickHandler(ctrl, floater) { goog.events.listen(ctrl, goog.ui.Component.EventType.ACTION, function() { floater.setScrollingEnabled(ctrl.isChecked()); }); } button1.setState(goog.ui.Component.State.CHECKED, true); button2.setState(goog.ui.Component.State.CHECKED, true); setupClickHandler(button1, scrollfloater1); setupClickHandler(button2, scrollfloater2); </script> </body> </html>