Friday, June 01, 2007

Scroll di testo con jquery

Oggi ho deciso di utilizzare per la prima volta la libreria Jquery in quanto facevo difficoltà a trovare in rete uno script per fare lo scroll del contenuto di un paragrafo qualora questo fosse stato superiore alle dimensioni di un div..
o meglio ne avevo trovato uno che però non mi piaceva così un pò per gioco un pò per esperimento ho deciso di provare e ora lo condivido per qualcuno che potrebbe averne bisogno :)


Libreria Function.js


/*
* scroll elements for jQuery - http://www.ramengo,com
* Copyright (c) 2007 Andrea Brugnolo
* GPL (GPL-LICENSE.txt) licenses.
*/


var movedownvar = objheight = moveupvar = 0;
var speed = 4;

$(document).ready(function()
{

// Rileva la dimensione massima del box
objheight = $(".scroll_testo").height();

// Faccio scomparire il navigatore
if(objheight < parseInt($("#scroll_container").height()))
{
$("a.down").hide(); $("a.up").hide();
}

$("a.down").hover(function(){ // Caso Over Down
movedown()
},function(){
clearTimeout(movedownvar);
});

$("a.up").hover(function(){ // Caso Over Up
moveup()
},function(){
clearTimeout(moveupvar);
});

});

function movedown()
{
s_pos = parseInt($(".scroll_testo").css("top"));

if (s_pos >=(objheight*(-1)+100))
$(".scroll_testo").css('top', s_pos -= speed);

movedownvar=setTimeout("movedown()",50);
}

function moveup()
{
s_pos = parseInt($(".scroll_testo").css("top"));

if (s_pos<=0)
$(".scroll_testo").css('top', s_pos += speed);

moveupvar=setTimeout("moveup()",50);
}


Ora vediamo la pagina Html
inclusione librerie esterne la libreria jquery la troviamo su www.jquery.com


<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="function.js"></script>


CSS del sito della pagina


<style type="text/stylesheet">
#scroll_container {
overflow: hidden;
border: 1px solid #000;
height: 200px;
position:relative;
width: 400px
}

.scroll_testo {
position:absolute;
top: 0px;
left: 0px;
}


</style>


Contenuto del Body della pagina



<div id="scroll_container" >
<p class="scroll_testo" >
Sed ut perspiciatis, unde omnis iste natus error sit voluptatem accusantium
doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore
veritatis et quasi architecto beatae vitae dicta sunt, explicabo. Nemo enim ipsam
voluptatem, quia voluptas sit, aspernatur aut odit aut fugit, sed quia
consequuntur magni dolores eos, qui ratione voluptatem sequi nesciunt, neque porro
quisquam est, qui dolorem ipsum, quia dolor sit, amet, consectetur, adipisci
velit, sed quia non numquam eius modi tempora incidunt, ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem
ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit, qui in ea voluptate velit esse, quam nihil
molestiae consequatur, vel illum, qui dolorem eum fugiat, quo voluptas nulla
pariatur? [33] At vero eos et accusamus et iusto odio dignissimos ducimus, qui
blanditiis praesentium voluptatum deleniti atque corrupti, quos dolores et quas
molestias excepturi sint, obcaecati cupiditate non provident, similique sunt in
culpa, qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum
quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum
soluta nobis est eligendi optio, cumque nihil impedit, quo minus id, quod
maxime placeat, facere possimus, omnis voluptas assumenda est, omnis dolor
repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum
necessitatibus saepe eveniet, ut et voluptates repudiandae sint et molestiae non
recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis
voluptatibus maiores alias consequatur aut perferendis doloribus
asperiores repellat.»

</p>
</div >

<a href="#" class="up">Up </a ><a href="#" class="down" >Down </a >



esempio visibile su www.ramengo.com/jquery

4 comments:

Unknown said...

mettere on line un esempio? Grazie!

Andrea said...

Eccoti Accontentato http://www.ramengo.com/jquery/

Grazie per l'interesse ;)

disconnesso said...

utilissimo, grazie

Anonymous said...

La ringrazio per intiresnuyu iformatsiyu