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?

browser re-size but after reloading works fine

#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

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -