0

I found some code for "return to top" arrow on website (link) and I have been asking myself why there are two display properties in CSS (#return-to-top part). Is it because of transitions or because of jQuery. Can anyone explain me this?

This is the code I'm talking about:

// ===== Scroll to Top ==== 
$(window).scroll(function() {
    if ($(this).scrollTop() >= 50) {        // If page is scrolled more than 50px
        $('#return-to-top').fadeIn(200);    // Fade in the arrow
    } else {
        $('#return-to-top').fadeOut(200);   // Else fade out the arrow
    }
});
$('#return-to-top').click(function() {      // When arrow is clicked
    $('body,html').animate({
        scrollTop : 0                       // Scroll to top of body
    }, 500);
});
#return-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background: rgb(0, 0, 0);
    background: rgba(0, 0, 0, 0.7);
    width: 50px;
    height: 50px;
    display: block;
    text-decoration: none;
    -webkit-border-radius: 35px;
    -moz-border-radius: 35px;
    border-radius: 35px;
    display: none;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
#return-to-top i {
    color: #fff;
    margin: 0;
    position: relative;
    left: 16px;
    top: 13px;
    font-size: 19px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
#return-to-top:hover {
    background: rgba(0, 0, 0, 0.9);
}
#return-to-top:hover i {
    color: #fff;
    top: 5px;
}


/* Extra Things */
body{background: #eee ;font-family: 'Open Sans', sans-serif;}h3{font-size: 30px; font-weight: 400;text-align: center;margin-top: 50px;}h3 i{color: #444;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<!-- Return to Top -->
<a href="javascript:" id="return-to-top"><i class="icon-chevron-up"></i></a>


<!-- ICON NEEDS FONT AWESOME FOR CHEVRON UP ICON -->
<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet">

  
<!-- Test the scroll -->
<div style="height:2000px;">
  
  <h3>Scroll down</h3>
  <h3><i class="icon-arrow-down"></i>
  
</div>
DevMan
  • 45
  • 8
  • it should have display;none only, remove the display block property – Sanjeev Kumar Aug 16 '16 at 09:42
  • If the above css is your css, then you have two lines of display in the css file. The question is unclear on exactly what is meant here. – Arathi Sreekumar Aug 16 '16 at 09:45
  • ok. I thought I missed something but at the end the mistake is in the code.Thanks – DevMan Aug 16 '16 at 09:45
  • Sometimes one display setting may provide fallback for another setting that is not supported by all browsers. For example `display:inline-block; display:inline-flex;`. But that's not going to be the situation with `block` and `none`. In this case, it's just a mistake. – Alohci Aug 16 '16 at 09:51

0 Answers0