1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- <!DOCTYPE HTML>
- <html class="reftest-wait">
- <head>
- <meta charset="utf-8">
- <title>Testcase for bug 1010538 - Dynamically change scroll-behavior</title>
- <style type="text/css">
- html,body {
- color: black;
- background-color: white;
- font-size: 16px;
- padding: 0;
- margin: 0;
- }
- .a_box {
- position: relative;
- left: 0px;
- top: 0px;
- width: 20px;
- height: 20px;
- background: blue;
- }
- .another_box {
- position: relative;
- left: 2000px;
- top: 2000px;
- width: 20px;
- height: 20px;
- background: green;
- }
- .scroll_box {
- width: 150px;
- height: 150px;
- overflow: scroll;
- }
- #scroll_2 {
- scroll-behavior: auto;
- }
- #scroll_3 {
- scroll-behavior: smooth;
- }
- </style>
- </head>
- <body>
- <div id="scroll_1" class="scroll_box">
- <div id="box1a" class="a_box"></div>
- <div id="box1b" class="another_box"></div>
- </div>
- <div id="scroll_2" class="scroll_box">
- <div id="box2a" class="a_box"></div>
- <div id="box2b" class="another_box"></div>
- </div>
- <div id="scroll_3" class="scroll_box">
- <div id="box3a" class="a_box"></div>
- <div id="box3b" class="another_box"></div>
- </div>
- <script>
- function doTest() {
- if (document.location.search != '?ref') {
- // Expect smooth scroll:
- document.getElementById("scroll_1").style.scrollBehavior = "smooth";
- document.getElementById("scroll_1").scrollTo({left: 0, top: 0});
- document.getElementById("scroll_2").style.scrollBehavior = "smooth";
- document.getElementById("scroll_2").scrollTo({left: 0, top: 0});
- // Expect instant scroll:
- document.getElementById("scroll_3").style.scrollBehavior = "auto";
- document.getElementById("scroll_3").scrollTo({left: 0, top: 0});
- } else {
- document.getElementById("scroll_1").scrollTo({left: 0, top: 0, behavior: "smooth"});
- document.getElementById("scroll_2").scrollTo({left: 0, top: 0, behavior: "smooth"});
- document.getElementById("scroll_3").scrollTo({left: 0, top: 0, behavior: "instant"});
- }
- // Interrupt any smooth scrolling
- for (var i=1; i <= 3; i++) {
- document.getElementById("scroll_" + i).scrollTo();
- }
- document.documentElement.removeAttribute("class");
- }
- for (var i=1; i <= 3; i++) {
- document.getElementById("box" + i + "b")
- .scrollIntoView({block: "start", behavior: "instant"});
- }
- window.addEventListener("MozReftestInvalidate", doTest, false);
- </script>
- </body>
- </html>
|