html - Jquery doesnt perfectly work after browser resize? -
those triggers when scroll reaches element not work when browser re-sized works if reloaded after re-sizing. how make triggers work after browser re-size guess messes position of divs?
#main { width: 100%; } nav { position: fixed; top: 5%; height: 30%; text-align: center; display: block; z-index: 999; width: 100%; } nav { font-size: 20px; font-family: 'montserrat'; color: #808080; text-decoration: none; text-transform:uppercase; opacity: 0.9; word-spacing: normal; display:inline-block; width: 176px; height: 30px; padding-top: 7px; z-index: 999; } html,body { margin: 0; padding: 0; height: 100%; width: 100%; } #test {position: relative; width: 100%; height: 100%; background-color: #ffd800; } #test2 { position: relative; display: block; width: 100%; height: 100%; background-color: #b6ff00; } #test3 { position: relative; display: block; width: 100%; height: 100%; background-color: #0026ff; } #link { border-bottom: #0ff 2.5px solid; } #test4 { position: relative; display: block; width: 100%; height: 100%; background-color: #4cff00; } #test5 { position: relative; display: block; width: 100%; height: 100%; background-color: #b6ff00; } #link:hover { color: #aaa7a7; } #link2:hover { color: #aaa7a7; } #link3:hover { color: #aaa7a7; } #link4:hover { color: #aaa7a7; }#link5:hover { color: #aaa7a7; }
<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <title></title> <link href="style.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <script src="smoothscroll.js"></script> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <script> $(document).ready(function () { var = $('#test').offset().top; var b = $('#test2').offset().top; var c = $('#test3').offset().top; var d = $('#test4').offset().top; var e = $('#test5').offset().top; $(document).scroll(function () { if ($(this).scrolltop() >= a) { $('#link').css({ "border-bottom": "#0ff 2px inset" }); } if ($(this).scrolltop() >= b) { $('#link2').css({ "border-bottom": "#0ff 2px inset" }); $('#link').css({ "border-bottom": "#fff" }); } else { $('#link2').css({ "border-bottom": "#fff" }); } if ($(this).scrolltop() >= c) { $('#link3').css({ "border-bottom": "#0ff 2px inset" }); $('#link2').css({ "border-bottom": "#fff" }); } else { $('#link3').css({ "border-bottom": "#fff" }); } if ($(this).scrolltop() >= d) { $('#link4').css({ "border-bottom": "#0ff 2px inset" }); $('#link3').css({ "border-bottom": "#fff" }); } else { $('#link4').css({ "border-bottom": "#fff" }); } if ($(this).scrolltop() >= e) { $('#link5').css({ "border-bottom": "#0ff 2px inset" }); $('#link4').css({ "border-bottom": "#fff" }); } else { $('#link5').css({ "border-bottom": "#fff" }); } }); }); </script> </head> <body> <nav> <a id="link" href="#test" class="smoothscroll" >about</a> <a id="link2" href="#test2" class="smoothscroll">our aims</a> <a id="link3" href="#test3" class="smoothscroll">app contents</a> <a id="link4" href="#test4" class="smoothscroll">download</a> <a id="link5" href="#test5" class="smoothscroll">contact us</a> </nav> </div> </div> <link href='http://fonts.googleapis.com/css?family=montserrat' rel='stylesheet' type='text/css'> <div id="test"> </div> <div id="test2"> </div> <div id="test3"> </div> <div id="test4"> </div> <div id="test5"> </div> </body> </html>
`
use code .. make function variables , if statement checks run in document ready , window scroll , window resize
var , b , c , d , e; var changeoffset = function(){ = $('#test').offset().top; b = $('#test2').offset().top; c = $('#test3').offset().top; d = $('#test4').offset().top; e = $('#test5').offset().top; if ($(this).scrolltop() >= a) { $('#link').css({ "border-bottom": "#0ff 2px inset" }); } if ($(this).scrolltop() >= b) { $('#link2').css({ "border-bottom": "#0ff 2px inset" }); $('#link').css({ "border-bottom": "#fff" }); }else{ $('#link2').css({ "border-bottom": "#fff" }); } if ($(this).scrolltop() >= c) { $('#link3').css({ "border-bottom": "#0ff 2px inset" }); $('#link2').css({ "border-bottom": "#fff" }); }else{ $('#link3').css({ "border-bottom": "#fff" }); } if ($(this).scrolltop() >= d) { $('#link4').css({ "border-bottom": "#0ff 2px inset" }); $('#link3').css({ "border-bottom": "#fff" }); }else { $('#link4').css({ "border-bottom": "#fff" }); } if ($(this).scrolltop() >= e) { $('#link5').css({ "border-bottom": "#0ff 2px inset" }); $('#link4').css({ "border-bottom": "#fff" }); }else{ $('#link5').css({ "border-bottom": "#fff" }); } } changeoffset(); $(window).on('resize',changeoffset); $(window).on('scroll',changeoffset);
Comments
Post a Comment