Kjapp og trygg hosting for Wordpress

Følg skjermen kun hvis høyden er mindre en skjermhøyden?

clinton4

Medlem
Hei,

Jeg bruker følgende kode for å få en div til å følge skjermen når en besøkende scroller nedover. Men jeg ønsker at den kun skal følge skjermen dersom høyden på div'en er mindre en besøkendes skjermhøyde. Er dette mulig?

HTML:
<script>
$(function () {
  
  var msie6 = $.browser == 'msie' && $.browser.version < 7;
  
  if (!msie6) {
    var top = $('.follow').offset().top - parseFloat($('.follow').css('margin-top').replace(/auto/, 0));
    $(window).scroll(function (event) {
      // what the y position of the scroll is
      var y = $(this).scrollTop();
      
      // whether that's below the form
      if (y >= top) {
        // if so, ad the fixed class
        $('.follow').addClass('fixed');
      } else {
        // otherwise remove it
        $('.follow').removeClass('fixed');
      }
    });
  }  
});
</script>

HTML:
.follow.fixed {
  position: fixed;
  top: 40px;
}
 

clinton4

Medlem
Og følgende løste den biffen.

Pakket kodebiten inni denne:

HTML:
  var divheight = $(".follow").height();
  var screenheight = $(window).height();
  
  if( divheight < screenheight ){
  // Første kode her..
  }
 

adeneo

Medlem
Såkalt "feature detection" er anbefalt i disse dager, altså å sjekke hva nettleseren faktisk støtter, i stedet for å sjekke hvilken nettleser det er snakk om. Derfor har jQuery valgt å droppe $.browser for fremtiden.
 

Weboz

Medlem
Nå vet jeg ikke høyden på DIVen din, men her er et forslag: (CSS 3)

Kode:
@media screen and (max-height: 450px) {
.follow.fixed { position:absolute; }
	
}
Eller position:relative ettersom hva som passer nettsiden din..
Dersom skjermen er under 450px vil DIVen ikke følge skjermen.
 
Topp