Avatar billede hypofysen Nybegynder
28. januar 2013 - 06:06 Der er 10 kommentarer og
1 løsning

refresh page når bunden er nået

Jeg bruger følgende til at autoscrolle en side, men hvordan kan jeg få siden til at refreshe når bunden er noget?

<script language="JavaScript1.2">
//change 1 to another integer to alter the scroll speed. Greater is faster
var speed=1
var currentpos=0,alt=1,curpos1=0,curpos2=-1
function initialize(){
startit()
}
function scrollwindow(){
if (document.all)
temp=document.body.scrollTop
else
temp=window.pageYOffset
if (alt==0)
alt=1
else
alt=0
if (alt==0)
curpos1=temp
else
curpos2=temp
if (curpos1!=curpos2){
if (document.all)
currentpos=document.body.scrollTop+speed
else
currentpos=window.pageYOffset+speed
window.scroll(0,currentpos)
}
else{
currentpos=0
window.scroll(0,currentpos)
}
}
function startit(){
setInterval("scrollwindow()",10)
}
window.onload=initialize
</script>
Avatar billede olebole Juniormester
28. januar 2013 - 16:33 #1
<ole>

Jeg ville nok først finde et script fra dette årtusinde, som virker i moderne kode - i moderne browsere  =)

/mvh
</bole>
Avatar billede hypofysen Nybegynder
30. januar 2013 - 07:31 #2
Det prøver vi så men her har jeg samme problem.

Det er jquery simplyscroll plugin

Enten skal siden refreshes ellers skal data loades igen

$.get('ajax/test.html', function(data) {
  $('.result').html(data);
 
  $(document).ready(function() {
        $("#result").simplyScroll(
        {
            orientation:'vertical',
            customClass:'vert',
            speed: '3',
        });
    });
 
})
Avatar billede olebole Juniormester
30. januar 2013 - 22:13 #3
Det var så en blomst fra den modsatte grøft  =)

SimplyScroll plugin'et er ikke skrevet, så det fyrer events af. Derfor må du enten ind i originalkoden og skrive den om - eller finde et ikke forældet script i ganske alm. JavaScript
Avatar billede Slettet bruger
31. januar 2013 - 22:12 #4
Med "refreshe" mener du at den skal hente side 2, 3, 4..
- eller bare reloade samme side igen ?
Avatar billede hypofysen Nybegynder
01. februar 2013 - 10:58 #5
Den skal bare reloade samme side, da det er en side der står og henter resultater fra en database som hele tiden bliver opdateret
Avatar billede Slettet bruger
01. februar 2013 - 15:17 #6
Ahh, så er det ikke så svært ; )
<!doctype html>
<html><head><style>
#box    {position:absolute; display:inline-block;
        border:20px solid red; padding:60px; overflow:auto;
        top:100px; left:100px; height:200px; width:200px;
        font:25px verdana}
</style><script>
function ibund(box)
    {
    if (box.scrollTop + box.clientHeight >= box.scrollHeight)
        {
        document.getElementById("debug").innerHTML = "<h1>i bund !</h1>"
//        window.location.reload(true)
        }
    else
        document.getElementById("debug").innerHTML =
            "scrollTop:"    + box.scrollTop + "<br>" +
            "clientHeight:"    + box.clientHeight + "<br>" +
            "scrollHeight:"    + box.scrollHeight + "<br>" +
            "difference:"    + (box.scrollHeight - box.scrollTop - box.clientHeight)
    }
</script></head><body><div id="debug"></div>
<div id="box" onscroll="ibund(this)">
    asd asdsad asd asd asdasdas asdasd sad asd asd asd asdas asdasd asd asd asd sad asd
    asdasd asdsad asd sadsadsa dsa das a das dad asdsad asd sadsadsa dsa das a das dasd
</div></body></html>
NB: Ikke testet med iE..
Avatar billede hypofysen Nybegynder
01. februar 2013 - 18:09 #7
hvordan sætter man det så til autoscroll?
Avatar billede Slettet bruger
01. februar 2013 - 18:55 #8
autoscroll - hm.. dén del havde jeg overset : )
<!doctype html>
<html><head><style>
#box    {position:absolute; display:inline-block;
        border:20px solid red; padding:60px; overflow:auto;
        top:100px; left:100px; height:200px; width:200px;
        font:25px verdana}
</style><script>

function ibund(box)
    {
    if (box.scrollTop + box.clientHeight >= box.scrollHeight)
        window.location.reload(true)
    }

window.onload = function()
    {
    setInterval(function() {document.getElementById("box").scrollTop += 1}    , 50)
    }

</script></head><body>
<div id="box" onscroll="ibund(this)">
    asd asdsad asd asd asdasdas asdasd sad asd asd asd asdas asdasd asd asd asd sad asd
    asdasd asdsad asd sadsadsa dsa das a das dad asdsad asd sadsadsa dsa das a das dasd
</div></body></html>
Tadaa!
Avatar billede hypofysen Nybegynder
04. februar 2013 - 13:57 #9
Fantastisk det fungerer jo perfekt :)
Tusind tak, smid et svar
Avatar billede Slettet bruger
04. februar 2013 - 19:13 #10
s'gerne

Det rager jo ikke mig... men hvad skal du bruge det til ?
Avatar billede hypofysen Nybegynder
06. februar 2013 - 19:19 #11
Jeg bruger det til at vise en resultatliste på storskærm.
Jeg har et lille VB program der smider tider i databasen efterhånden som løberne kommer i mål.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester