..:: MX Studio Fóruns ::..: Rolagem Personalizada - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Rolagem Personalizada dificuldade em fazer funcionar

#1 User is offline   ricardoelias 

  • Group: Membros
  • Posts: 153
  • Joined: 14-July 04

  Posted 17 August 2009 - 10:31 PM

Eu gostaria de fazer uma rolagem, mas aquela do explorer acaba com o visual site então resolvi buscar outra solução

e montei uma barrinha bonitinha como podem ver em:

Exemplo com a rolagem

Fico lindo, mas ordinário.

O Script que eu uso é o seguinte:

CÓDIGO
<!--

var upH = 12; // Height of up-arrow
var upW = 12; // Width of up-arrow
var downH = 12; // Height of down-arrow
var downW = 12; // Width of down-arrow
var dragH = 12; // Height of scrollbar
var dragW = 12; // Width of scrollbar
var scrollH = scrollVy; // Height of scrollbar
var speed = 5; // Scroll speed

// And now... go to the bottom of the page...

// Browser detection
var dom = document.getElementById ? true:false;
var nn4 = document.layers ? true:false;
var ie4 = document.all ? true:false;

var mouseY; // Mouse Y position onclick
var mouseX; // Mouse X position onclick

var clickUp = false; // If click on up-arrow
var clickDown = false; // If click on down-arrow
var clickDrag = false; // If click on scrollbar
var clickAbove = false; // If click above scrollbar
var clickBelow = false; // If click below scrollbar

var timer = setTimeout("",500); // Repeat variable
var upL; // Up-arrow X
var upT; // Up-arrow Y
var downL; // Down-arrow X
var downT; // Down-arrow Y
var dragL; // Scrollbar X
var dragT; // Scrollbar Y
var rulerL; // Ruler X
var rulerT; // Ruler Y
var contentT; // Content layer Y;
var contentH; // Content height
var contentClipH; // Content clip height
var scrollLength; // Number of pixels scrollbar should move
var startY; // Keeps track of offset between mouse and span

picup = new Image();    picup.src = "up.gif";
picdown = new Image();  picdown.src = "down.gif";
picdrag = new Image();  picdrag.src = "drag.gif";

// Preload
function eventLoader(){
        if(ie4){
                        // Up-arrow X and Y variables
                upL = document.all.up.style.pixelLeft;
                upT = document.all.up.style.pixelTop;          
                // Down-arrow X and Y variables
                downL = document.all.down.style.pixelLeft;
                downT = document.all.down.style.pixelTop;
                // Scrollbar X and Y variables
                dragL = document.all.drag.style.pixelLeft;
                dragT = document.all.drag.style.pixelTop;              
                // Ruler Y variable
                rulerT = document.all.ruler.style.pixelTop;            
                // Height of content layer and clip layer
                contentH = document.all.content.offsetHeight;
                contentClipH = document.all.contentClip.offsetHeight;
        }
        else if(nn4){
                // Up-arrow X and Y variables
                upL = document.up.left;
                upT = document.up.top;          
                // Down-arrow X and Y variables
                downL = document.down.left;
                downT = document.down.top;              
                // Scrollbar X and Y variables
                dragL = document.drag.left;
                dragT = document.drag.top;              
                // Ruler Y variable
                rulerT = document.ruler.top;
                // Height of content layer and clip layer
                contentH = document.contentClip.document.content.clip.bottom;
                contentClipH = document.contentClip.clip.bottom;
        }
        else if(dom){
                // Up-arrow X and Y variables
                upL = parseInt(document.getElementById("up").style.left);
                upT = parseInt(document.getElementById("up").style.top);
                // Down-arrow X and Y variables
                downL = parseInt(document.getElementById("down").style.left);
                downT = parseInt(document.getElementById("down").style.top);
                // Scrollbar X and Y variables
                dragL = parseInt(document.getElementById("drag").style.left);
                dragT = parseInt(document.getElementById("drag").style.top);
                // Ruler Y variable
                rulerT = parseInt(document.getElementById("ruler").style.top);
                // Height of content layer and clip layer
                contentH = document.getElementById("content").offsetHeight;
                contentClipH = document.getElementById("contentClip").offsetHeight;
                document.getElementById("content").style.top = 0 + "px";
                
        }
        // Number of pixels scrollbar should move
        scrollLength = ((scrollH-dragH)/(contentH-contentClipH));
        // Initializes event capturing
        if(nn4){
                document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP)
                window.onresize = reloadPage;
        }
        document.onmousedown = down;
        document.onmousemove = move;
        document.onmouseup = up;
}

// Mousedown
function down(e){
        if((document.layers && e.which!=1) || (document.all && event.button!=1)) return true; // Enables the right mousebutton          
        getMouse(e);
        startY = (mouseY - dragT);
        
        // If click on up-arrow
        if(mouseX >= upL && (mouseX <= (upL + upW)) && mouseY >= upT && (mouseY <= (upT + upH))){
                clickUp = true;
                //picDown('up');
                return scrollUp();
        }      
        // Else if click on down-arrow
        else if(mouseX >= downL && (mouseX <= (downL + downW)) && mouseY >= downT && (mouseY <= (downT + downH))){
                clickDown = true;
                //picDown('down');
                return scrollDown();
        }
        // Else if click on scrollbar
        else if(mouseX >= dragL && (mouseX <= (dragL + dragW)) && mouseY >= dragT && (mouseY <= (dragT + dragH))){
                clickDrag = true;
                //picDown('drag');
                return false;
        }
        else if(mouseX >= dragL && (mouseX <= (dragL + dragW)) && mouseY >= rulerT && (mouseY <= (rulerT + scrollH))){
                // If click above drag
                if(mouseY < dragT){
                        clickAbove = true;
                        clickUp = true;
                        return scrollUp();
                }
                // Else click below drag
                else{
                        clickBelow = true;
                        clickDown = true;
                        return scrollDown();
                }
        }
        // If no scrolling is to take place
        else{
                return true;
        }
}

function picDown(which){
        if(document.all) {
                eval('document.all.pic' + which + '.src = pic' + which + '.src');
        }
        else {
                eval('document.' + which + '.document.pic' + which + '.src = pic' + which + '.src');
        }
}

function picUp(which){
        if(document.all) {
                eval('document.all.pic' + which + '.src = "' + which + '.gif"');
        }
        else {
                eval('document.' + which + '.document.pic' + which + '.src = "' + which + '.gif"');
        }
}

// Drag function
function move(e){
        if(clickDrag && contentH > contentClipH){
                getMouse(e);
                dragT = (mouseY - startY);
                
                if(dragT < (rulerT))
                        dragT = rulerT;        
                if(dragT > (rulerT + scrollH - dragH))
                        dragT = (rulerT + scrollH - dragH);
                
                contentT = ((dragT - rulerT)*(1/scrollLength));
                contentT = eval('-' + contentT);

                moveTo();
        }
        // So ie-pc doesn't select gifs
        if(ie4)
                return false;
}

function up(){
        clearTimeout(timer);
        // Resetting variables
        clickUp = false;
        clickDown = false;
        clickDrag = false;
        clickAbove = false;
        clickBelow = false;
        //picUp('up');
        //picUp('down');
        //picUp('drag');
        return true;
}

// Reads content layer top
function getT(){
        if(ie4)
                contentT = document.all.content.style.pixelTop;
        else if(nn4)
                contentT = document.contentClip.document.content.top;
        else if(dom)
                contentT = parseInt(document.getElementById("content").style.top);
}

// Reads mouse X and Y coordinates
function getMouse(e){
        if(ie4){
                mouseY = event.clientY;
                mouseX = event.clientX;
        }
        else if(nn4 || dom){
                mouseY = e.pageY;
                mouseX = e.pageX;
        }
}

// Moves the layer
function moveTo(){
        if(ie4){
                                document.all.content.style.top = contentT;
                        document.all.ruler.style.top = dragT;
                        document.all.drag.style.top = dragT;
        }
        else if(nn4){
                document.contentClip.document.content.top = contentT;
                document.ruler.top = dragT;
                document.drag.top = dragT;
        }
        else if(dom){
                document.getElementById("content").style.top = contentT + "px";
                document.getElementById("drag").style.top = dragT + "px";
                document.getElementById("ruler").style.top = dragT + "px";
        }
}

// Scrolls up
function scrollUp(){
        getT();
        
        if(clickAbove){
                if(dragT <= (mouseY-(dragH/2)))
                        return up();
        }
        
        if(clickUp){
                if(contentT < 0){
                        dragT = dragT - (speed*scrollLength);
                        
                        if(dragT < (rulerT))
                                dragT = rulerT;
                                
                        contentT = contentT + speed;
                        if(contentT > 0)
                                contentT = 0;
                        
                        moveTo();
                        timer = setTimeout("scrollUp()",25);
                }
        }
        return false;
}

// Scrolls down
function scrollDown(){
        getT();
        
        if(clickBelow){
        
                if(dragT >= (mouseY-(dragH/2)))
                        return up();
        }

        if(clickDown){
                if(contentT > -(contentH - contentClipH)){                      

                        dragT = dragT + (speed*scrollLength);
                        if(dragT > (rulerT + scrollH - dragH))
                                dragT = (rulerT + scrollH - dragH);
                        
                        contentT = contentT - speed;
                        if(contentT < -(contentH - contentClipH))
                                contentT = -(contentH - contentClipH);
                        
                        moveTo();
                        timer = setTimeout("scrollDown()",25);
                }
        }
        return false;
}

// reloads page to position the layers again
function reloadPage(){
        location.reload();
}

//-->


Sendo bem sincero, peguei esse script de um outro site e não mudei se quer uma linha

e na página o fonte ficou assim:

QUOTE
<? // Conexão com o banco de dados
include "../../adm/modulos/comum/bd.php";

$SQLC = "SELECT * FROM sindicato WHERE (tipo = 1)";
$resultC = mysql_query($SQLC) or die(mysql_error());
$totalC = mysql_num_rows($resultC);

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="../css/estilo.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/AC_RunActiveContent.js" type="text/javascript"></script>
<script language="javascript">
var scrollVy = 500
var scrollHx = 100
</SCRIPT>
<script language=javascript src="http://www.virtua.com.br/shared/js/scroll.js"></SCRIPT>
<script language="JavaScript" src="../comum/funcoes.js"></SCRIPT>
</head>
<BODY topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" onLoad="eventLoader();">
<DIV style="position:absolute; top:50px; left:650px;">
<TABLE cellpadding="0" cellspacing="0" border="0">
<TBODY><TR>
<TD height="16" valign="top"><A href="java script:;" onMouseOut="clickUp = false;" onMouseOver="clickUp = true; return scrollUp();"><IMG src="../comum/seta_up.gif" width="12" height="12" name="picup" border="0"></A></TD>
</TR>
<TR>
<TD align="center"><IMG src="../comum/seta_barra.gif" width="2" height="450" alt="" border="0"></TD>
</TR>
<TR>
<TD height="16" valign="bottom"><A href="java script:;" onMouseOut="clickDown = false;" onMouseOver="clickDown = true; return scrollDown();"><IMG src="../comum/seta_down.gif" width="12" height="12" name="picdown" border="0"></A></TD>
</TR>
</TBODY></TABLE>
</DIV>
<DIV id="up" style="z-index:1;"></DIV>
<DIV id="down" style="z-index:1;"></DIV>
<DIV id="drag" style="position:absolute; top:65px; left:650px; width:12px; height:12px; z-index:1;">
<IMG src="../comum/seta_scroll.gif" width="12" height="12" alt="" border="0" name="picdrag"></DIV>
<DIV id="ruler" style="position:absolute; top:65px; left:650px; width:12px; height:12px; z-index:1;"></DIV>




<table width="810" border="0" cellspacing="0" cellpadding="0">

<tr>

<td valign="top">

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td height="40" valign="middle" class="titulo">Breadcumb</td>

</tr>

<tr>

<td>
<DIV id="contentClip" style="clip: rect(0px 650px 520px 0px); width:650px; height:520px; top:40px; left:0px; overflow: hidden; position: absolute; visibility: visible; z-index:1;">
<DIV id="content" style="position: absolute; left: 0px; overflow-x: hidden; overflow-y: hidden; width: 650px; z-index: 1; top: 0px; " class="corpo">


<? if ($totalC >= 1)

{

$colunas = 2;

$colunaAtual = 0;



//$rs = mysql_query($SQL2) or die(mysql_error());

echo '<table border="0" cellspacing="5" cellpadding="2">';

echo '<tr>';

while($linhaC = mysql_fetch_array($resultC))

{

echo ('<td>

<table width="307" border="0" cellspacing="0" cellpadding="0">

<tr>

<td class="cx_categoria">

<table width="307" height="156" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="145" rowspan="2" align="center" valign="middle">

<table width="130" height="130" border="0" cellspacing="0" cellpadding="0">

<tr>

<td align="right" valign="bottom" style="background-image:url(efeito'.rand(1, 2).'.gif); background-repeat:no-repeat; ">

<img src="../../adm/modulos/sindicato/upload/'.$linhaC['imagem'].'" width="120" height="120" border="0">

</td>

</tr>

</table></td>

<td height="40" align="center" valign="middle" class="titulo">'.$linhaC['titulo'].'</td>

<td width="10" align="center" valign="middle" class="titulo">&nbsp;</td>

</tr>

<tr>

<td align="center" valign="middle" class="texto" width="150">'.$linhaC['chamada'].'</td>

<td width="10" align="center" valign="middle" class="titulo">&nbsp;</td>

</tr>

</table></td>

</tr>

</table>

</td>');

if( ++$colunaAtual >= $colunas )

{

echo '</tr><tr>';

$colunaAtual = 0;

}

}

echo '</table>';

} ?>
</DIV></DIV>
</td>

</tr>

<tr>

<td></td>

</tr>

</table>



</td>

<td width="135" align="right" valign="top"><? include "../comum/anuncio.php"; ?></td>

</tr>

</table>

</body>

</html>


Agradeço pela paciência de ter lido até aqui
0

#2 User is offline   xanburzum 

  • Group: Administrador
  • Posts: 2076
  • Joined: 04-November 08

Posted 18 August 2009 - 08:34 PM

vc esta com duvida, ou apenas kis ccontribuir com o code ???
0

#3 User is offline   ricardoelias 

  • Group: Membros
  • Posts: 153
  • Joined: 14-July 04

Posted 18 August 2009 - 11:51 PM

QUOTE(xanburzum @ 18/8/2009 19:08:42) <{POST_SNAPBACK}>
vc esta com duvida, ou apenas kis ccontribuir com o code ???


duvida, porque não tá funcionando.
Era pra ficar parecido com este

Site do Virtua
0

#4 User is offline   ricardoelias 

  • Group: Membros
  • Posts: 153
  • Joined: 14-July 04

  Posted 24 August 2009 - 12:44 PM

xanburzum,
Tentei outra maneira mas... não rolou.
Eu preciso mesmo fazer uma rolagem igual aquela do virtua
0

#5 User is offline   ricardoelias 

  • Group: Membros
  • Posts: 153
  • Joined: 14-July 04

Posted 24 August 2009 - 04:10 PM

achei mais um exemplo mas tá dificil de entender como funciona

http://www.opencube.com/samples/we/sample2/sample1.html

to me achando meio burro
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic


Similar Topics Collapse

  Topic Forum Started By Stats Last Post Info
New Replies barra de rolagem e molduras Dreamweaver EMS 
  • 1 Reply
  • 628 Views
New Replies Break apart através do Action Script
Fazer animação com imagem carregada dinâmicamente
Flash & ActionScript Matheus Melo 
  • 3 Replies
  • 1396 Views
New Replies Como fazer essa anima... Flash & ActionScript Pitta 
  • 3 Replies
  • 495 Views
Locked Topic Salvar apenas o que estiver selecionado
Como fazer?
Illustrator pmap 
  • 3 Replies
  • 1238 Views
New Replies Criar rolagem
ta dificil
Flash & ActionScript stview 
  • 0 Replies
  • 660 Views
New Replies Barra de rolagem Fireworks Apenas_Iniciante 
  • 3 Replies
  • 836 Views
New Replies Como fazer uma linha da cada cor CSS
E eu queria que as linhas mudassem de...
Dreamweaver bittencourt 
  • 2 Replies
  • 2752 Views
New Replies COMO FAÇO UM CONTATO COM ANUNCIANTE
COMO FAZER ISTO ...
ASP delua 
  • 0 Replies
  • 565 Views

Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)