Ir para conteúdo

POWERED BY:

Arquivado

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

Zé Zinho

Pausar Rotina

Recommended Posts

Eai cambada de pessoas legais

 

 

seguinte, eu to mais uma vez mechendo em algo chato que já era para ter resolvido e que estou demorando,

 

<html>
<head>
<script type="text/javascript">

       var pause = "nada";
function handle(delta) {

       var s = delta + ": ";
       if (delta < 0)
               s = "down";
       else
               s = "up";


if(pause == "pausado"){}else{
if(s == "up"){
valor =  document.getElementById('painel').scrollTop;
var px = document.getElementById('painel').scrollTop = valor-10;
var top = document.getElementById('painel').style.top;

document.getElementById('painel').style.top = px;
}
else{
valor =  document.getElementById('painel').scrollTop;
var px = document.getElementById('painel').scrollTop = valor+10;
var top = document.getElementById('painel').style.top = px;

document.getElementById('painel').style.top;
}
}



var top = document.getElementById('painel').style.top;
//alert(top);
if(top == "40px"){
document.getElementById('painel').style.position = "fixed";
document.getElementById('painel').style.top = "0px";
alert('era para fixar de vez a div neste momento');


var pause = "pausado";

}

}



function wheel(event){
       var delta = 0;
       if (!event) event = window.event;
       if (event.wheelDelta) {
               delta = event.wheelDelta/120; 
       } else if (event.detail) {
               delta = -event.detail/3;
       }
       if (delta)
               handle(delta);
}
/* Initialization code. */
if (window.addEventListener)
       window.addEventListener('DOMMouseScroll', wheel, false);
window.onmousewheel = document.onmousewheel = wheel;


window.onscroll = function(event)
{
if (typeof event.preventDefault != 'undefined')
event.preventDefault();
else
return false;
};


</script>



   <div id="painel" style="top:500px; position:fixed; font: 15px Tahoma; cursor: default; height: 200px; width: 200px; overflow: hidden; background-color: #DFEDFE; padding-left: 10px;  padding-right: 10px" onmouseover="Parar()" onmouseout="Rolar()">
     <!-- INÍCIO DO CONTEÚDO DA DIV -->
     <br /><br /><br /><br /><br /><br />

jasd
ias
dija
dj
aisjdasd
jasdoasjdojasdjasjdoiasjdoiajsdoijsaoidjasd
asjd
asjd
asdas
     <br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
     <!-- FIM DO CONTEÚDO DA DIV -->
   </div>
 </body>
</html>

<br /><br /><br /><br /><br /><br /> <br /><br /><br /><br /><br /><br /> <br /><br /><br /><br /><br /><br /> <br /><br /><br />

 

oque é para acontecer mais não acontece:

quando a div painel atingir 40px do topo é para deixar a div painel fixed sem movimento, mais o script não para hehe

será que alguém pode me ajudar, note que se for usar setInterval o scrol fica muito ruim, que faser stop nessa função ao atingir 40px do topo, como ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, partindo da premissa que você já deve ter debugado seu código exibindo o valor em cada etapa e não encontrou o problema, sugiro que tente trocar...

 

if(pause == "pausado"){}else{
if(s == "up"){

por

 

if(pause != "pausado"){
   if(s == "up"){

 

E...

 

if(top == "40px"){
document.getElementById('painel').style.position = "fixed";
document.getElementById('painel').style.top = "0px";
alert('era para fixar de vez a div neste momento');


var pause = "pausado";

}

por

 

if(top == "40px"){
   document.getElementById('painel').style.position = "fixed";
   document.getElementById('painel').style.top = "0px";
   alert('era para fixar de vez a div neste momento');
   pause = "pausado";
}

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.