Überlege jeweils zuerst, ob du zur Erledigung der Aufgabe den Inhaltstext, ein Attribut oder eine Klasse verändern musst!
## Uhrzeit
Füge auf deiner Website ein Div ein, in dem die Uhrzeit angezeigt wird. Die aktuelle Uhrzeit kannst du mit dem
Befehl `var zeit = new Date()` in der Variable `zeit` speichern und danach weiterverwenden.
## Uhrzeit 2
Baue auf deiner Website einen Knopf ein (``), der bei jedem Klick die Uhrzeit von oben aktualisiert.
## Wörter anstreichen
Füge den folgenden CSS-Code in deine CSS-Datei ein:
```css
.highlighted {
background-color: yellow;
}
```
Baue nun auf deiner Website ein, dass man Text markieren kann. Ein Klick soll Titeln und Textabschnitten
die Klasse `highlighted` geben.
## Textlänge
Baue auf deiner Website Code ein, der bei einem Klick auf einen Textabschnitt die Anzahl Buchstaben darin in einem
`alert()` anzeigt. Wenn du den Textinhalt hast, kannst du mit `.length` dessen Länge herausfinden.
## Diashow
Füge auf deiner Website 3 Bilder ein. Schreibe dazu Code, der macht, dass jeweils nur ein Bild angezeigt wird. Bei einem Klick auf das angezeigte Bild soll dieses versteckt, und das nächste angezeigt werden.
## Motion Data
Wir wollen Events von unseren Mobiltelefonen verwenden, um Websites zu verändern. Gehe mit dem PC auf [streaming.bbz.cloud](http://streaming.bbz.cloud)
und erstelle eine Demo-Website ('create > Demo'). Besuche anschliessend dieselbe Website mit deinem Handy und trete dem Raum bei. Du kannst nun über die
Bewegungssensoren in deinem Smartphone (Accelerometer) den Stift auf der Website steuern.
Es lassen sich auch eigene Websites hochladen, die dann zugriff auf das Event `motionData` erhalten.
```javascript
on('motionData', function(data){
// data.gameId => uploaded website id
// data.sender => joined device/player id
// data.acceleration.x => value [-9.81, 9.81]
// data.acceleration.y => value [-9.81, 9.81]
// data.acceleration.z => value [-9.81, 9.81]
})
```
Bei der hochgeladenen Website muss die angezeigte Website den Dateinamen `main.html` besitzen. Es können beliebige andere
html-Dokumente, Stylesheets und Javascripts referenziert werden, es müssen sich aber alle im selben Ordner befinden. Unterordner werden nicht unterstützt!
### Vorbereitung
Baue deine Seite so um, dass sie auf [streaming.bbz.cloud](http://streaming.bbz.cloud) hochgeladen und richtig dargetsellt werden kann. Vermeide wenn
möglich das uploaden von Bildern - wechsel also alle Bilder-Quellen auf deiner Website zu Referenzen auf Webressourcen.
### Hintergrundfarbe
Ändere deine Website so, dass sich die Hintergrundfarbe abhängig von der Ausrichtung deines Smartphones ändert. Benutze die drei Accelerometer-Werte
als RGB-Werte (Beispiel: `$('body').css({'background-color': 'rgb(255, 0, 0)'})` setzt den Hintergrund auf rot).
Beachte, dass die Accelerometer-Werte im Bereich
zwischen `-9.81` und `9.81` liegen. Überlege dir, wie du damit Werte zwischen `0` und `255` erzeugen kannst.
## Lösungen
## Uhrzeit
```html
```
## Uhrzeit 2
```html
```
## Wörter anstreichen
```js
$('h1, h2, h3, p').on('click', function(e) {
$(this).addClass('highlighted')
})
```
## Textlänge
```js
var texts = document.querySelectorAll('h1, h2, h3, p');
for(var i = 0; i < texts.length; i++) {
texts[i].addEventListener('click', laenge)
}
function laenge(e) {
var text = this.textContent
alert(text.length)
}
```