Tarkoitus olisi liikutella div-elementtiä jQueryn avulla. Elementtiä liikutellaan up-ja down-napeilla. Tällä hetkellä elementti liikkuu, mutta sille pitäisi asettaa tiettyjä rajoja.
- Jos #contentin korkeus on alle 600px, elementti ei liikahdakkaan.
- Jos #contentin korkeus on yli 600px, niin sille lasketaan maksimaalinen top-arvo vähentämällä #wrapin korkeudesta #contentin nykyinen korkeus.
- Jos #contentin top-arvo on nolla, niin down-nappi ei plussaa top-arvoa.
Olisin kovin kiitollinen, jos joku osaisi neuvoa minua pulmassani.
<a id="up" href="#">Up</a> <div id="wrap"> <div id="content"> </div> </div> <a id="down" href="#">Down</a>
$("#up").click(function(){
$("#content").animate({"left": "-=50px"}, "slow");
});
$("#down").click(function(){
$("#content").animate({"top": "+=50px"}, "slow");
});On jo aikaa kun itse näiden kanssa painin, mutta eikös jQueryssä saa elementtien koon aika triviaalisti tietoon (.width()/.height() tjsp)?
Sain jo hieman ratkaistua. Nyt content-elementti ei liikahdakkaan, jos se on korkeudeltaan pienempi kuin wrappi.
Vielä pitäisi saada haisteltua elementin absoluuttinen sijainti, ja tehdä edellä mainittuja toimenpiteitä.
<script type="text/javascript">
$(document).ready(function(){
$("#up").click(function(){
if
($("#content").height() < $("#wrap").height()){
return false;
}
else if
($("#content").animate({"top": "-=50px"}, "slow"));
});
$("#down").click(function(){
if
($("#content").height() < $("#wrap").height()){
return false;
}
else if
($("#content").animate({"top": "+=50px"}, "slow"));
});
</script>Aihe on jo aika vanha, joten et voi enää vastata siihen.