• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Wir haben den Frühjahrsputz beendet, Ihr auch? Welches Foto zu dem Thema hat Euch dann am Besten gefallen? Hier geht es lang zur Abstimmung --> Klick

[Javascript] Autoscrolling funktioniert auf iPad nicht?

Chriis

Dithmarscher Paradiesapfel
Registriert
25.01.10
Beiträge
1.467
Liebe ATer,

ich bin gerade dabei, ein Autoscrolling für eine Seite zu bauen... Die Seite soll im Prinzip einmal komplett über den Viewport bis unten hin gescrollt werden.
Im Safari funktioniert das auch... Aber Auf dem iPad (Mini :) ) leider nicht... o_O

Kann mir jemand von Euch sagen, warum das so ist?

Das ist der Code bis zum body-Tag:

Code:
<!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>


<script language="JavaScript">


function AutomatischScrollen()


{
	
window.scrollBy(0,1);
Scrollen();
}


 
function Scrollen()
{
GescrollteZeit = window.setTimeout("AutomatischScrollen()", 30);
}
</script>




<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Content</title>
</head>


<body onload="AutomatischScrollen();">
 

Chriis

Dithmarscher Paradiesapfel
Registriert
25.01.10
Beiträge
1.467
Hat das vielleicht etwas damit zu tun, das das iPad die Seite direkt länger macht, und es somit nichts zu scrollen gibt??
 

Chriis

Dithmarscher Paradiesapfel
Registriert
25.01.10
Beiträge
1.467
Ich habe gerade auch mal die Seite in einen iFrame gepackt... auf Safari scrollt der dann in dem iFrame (den ich direkt shcön klein gemacht habe).
Auf dem iPad skaliert der auch erst mal den iFrame auf nahezu Vollbild. Und scrollt dadrin auch nicht...

EDIT: iPad 3 tut das selbe...
 
Zuletzt bearbeitet:

wdominik

Weißer Winterglockenapfel
Registriert
15.01.10
Beiträge
880
Code:
var scroller = (function () {
	"use strict";
	var timer,
		isRunning = false;


	return {
		"start": function (speed) {
			if (!isRunning) {
				isRunning = true;


				timer = window.setInterval(this.step, speed);
			}
		},
		"step": function () {
			// TODO: check if bottom was reached
			if (false) {
				this.stop();
			}


			window.scrollBy(0, 1);
		},
		"stop": function () {
			if (isRunning) {
				isRunning = false;


				window.clearInterval(timer);
			}
		},
		"isRunning": function () {
			return isRunning;
		}
	};
}());




document.addEventListener("DOMContentLoaded", {
    "handleEvent": function (event) {
		"use strict";
	    scroller.start(10);
	    document.removeEventListener("DOMContentLoaded", this.handleEvent);
    }
}, false);

Mal bisschen umgebastelt, so funktioniert es jedenfalls bei mir. Denke mal lag an dem <body onload="…"> aber die Events in JS zu definieren ist ohnehin schöner. ;)
 

Chriis

Dithmarscher Paradiesapfel
Registriert
25.01.10
Beiträge
1.467
Super, dank dir! :)
Ich werd den Code gleich direkt mal einpflegen und schauen, ob er in meinem Projekt funktioniert!
 

wdominik

Weißer Winterglockenapfel
Registriert
15.01.10
Beiträge
880
Gern geschehen :) Sag bescheid, falls was nicht passt dann schau ich's mir nochmal an ^^