Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marco Antônio S Barreto

script de div que segue scroll não funciona no IE

Recommended Posts

Tenho o seguinte código que funciona normalmente no chrome, mas no IE a div fica estática no navegador.

Alguem pode me ajudar?

 

<style type="text/css">#float { position:absolute;}</style>
<script language="javascript">
   var divstart = 0;
   var divfloat = null;

   function getTop(obj) {
      return (obj.offsetParent ? (getTop(obj.offsetParent) + obj.offsetTop) : obj.offsetTop);
   }

   function updatediv() {
      var y   = (document.all)?document.body.scrollTop:window.pageYOffset;
      divfloat.style.top = (divstart + y) + "px";
   }

   onload = function () {
      window.onscroll = updatediv;
      window.onresize = updatediv;
      divstart = getTop(document.getElementById("float"));
      divfloat = document.getElementById("float");
   }
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você poderia fazer isso só com css, troca o position absolute por position fixed e adiciona as coordenadas via css.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Retira o javascript e coloca na sua div #float o css assim:

 

/* Exemplo */

 

#float {

    position: fixed;    left: 200px;     top: 100px; }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posiion fixed não funciona no IE, então não vai dar ceto pra trocar por isso, você vai ter que fazer algumas contas para pegar o inicio e o fim da página e manter a sua div sempre na mesma posição.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

O problema esta na função updatediv, exatamente no ternário, não tive tempo de testar o porque, mas com esta modificação funcionou:

function updatediv() {
    var y = window.pageYOffset;
    divfloat.style.top = (divstart + y) + "px";
}

OBS: Está rodando no IE 9/10, mas no IE8 ainda esta com problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.