1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4.     <title> FireFox Scroll Issue </title>
  5. </head>
  6. <body>
  7.     <div id="select_div" style="display: none;">
  8.         <select>
  9.             <option value="1">1</option>
  10.         </select>
  11.     </div>
  12.  
  13.     <script>
  14.         for ( var i = 0; i < 300; i++ ) document.write( '<p>' + i + '</p>' );
  15.  
  16.         function Scroller()
  17.         {
  18.             var self            = this;
  19.             this.si             = null;
  20.             this.old_scroll_pos = null;
  21.             this.select_visible = false;
  22.  
  23.             this.select_div     = document.getElementById( 'select_div' );
  24.  
  25.             window.onscroll     = function(){ self.SetScrolling(); }
  26.         }
  27.  
  28.         Scroller.prototype.SetScrolling = function()
  29.         {
  30.             var self = this;
  31.  
  32.             this.scroll_pos = document.body && document.body.scrollTop || document.documentElement && document.documentElement.scrollTop || 0 ;
  33.  
  34.             if ( !this.si ) this.si = setInterval( function(){ self.Poll_Scroll_Pos(); }, 10 );
  35.         }
  36.  
  37.         Scroller.prototype.Poll_Scroll_Pos = function()
  38.         {
  39.             if ( this.old_scroll_pos == this.scroll_pos )
  40.             {
  41.                 clearInterval( this.si );
  42.                 this.si = null;
  43.             }
  44.  
  45.             this.old_scroll_pos = this.scroll_pos;
  46.  
  47.             if ( this.scroll_pos > 300 && this.select_visible == false )
  48.             {
  49.                 this.select_div.style.display   = 'block';
  50.                 this.select_visible             = true;
  51.             }
  52.  
  53.             if ( this.scroll_pos == 0 && this.select_visible == true )
  54.             {
  55.                 this.select_div.style.display   = 'none';
  56.                 this.select_visible             = false;
  57.             }
  58.         }
  59.  
  60.         var scroller = new Scroller();
  61.     </script>
  62. </body>
  63. </html>