javascript - Scroll function make left contraction -
i'm using following script fixed menu when scroll page.
var num = 5; $(window).bind('scroll', function () { if ($(window).scrolltop() > num) { $('.scroll').css({'position':'fixed', 'top':'0px'}); } else { $('.scroll').css({'position':'', 'top':''}); } });
i'm using script table. see jsfiddle. when scroll down, title going contraction left left side.
why it's happening , how can fix? should support major browsers(not ie).
when set position: fixed
left prop seems set 0. hence, headers moving left corner. may have play display
, width
props you're after. note adding/removing class better setting inline styles via .css()
. @ following demo , adapt code accordingly suit needs.
var num = 5; $(document).bind('scroll', function () { if ($(document).scrolltop() > num) { $('.scroll').addclass("scrolled"); } else { $('.scroll').removeclass("scrolled"); } });
.scroll { width: 100%; } .scroll th { width: 49% } .scrolled { position: fixed; top: 0; } .scrolled th { display: inline-block; width: 47.5% }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table id="mytable" width="100%"> <thead> <tr class="scroll"> <th>id</th> <th>value</th> </tr> </thead> <tbody> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> <tr> <td align="center" width="20%">0</td> <td align="center" width="20%">1</td> </tr> </tbody> </table>
there may other ways of doing it, think of :)
Comments
Post a Comment