php.de

Zurück   php.de > Webentwicklung > HTML, Usability und Barrierefreiheit

HTML, Usability und Barrierefreiheit Themen rund um Textauszeichnung, Formatierung, Barrierefreiheit und Usability.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.04.2006, 21:24  
Benutzer
 
Registriert seit: 17.12.2005
Beiträge: 93
php_frage
Standard bei onmouseover sanft auf 100 pixel vergrößern

Hallo

Ich hab nen Element das ich mit

Code:
onmouseover="this.style.height='100px';"
auf 100 pixel höhe bringe, wenn die Maus darüber ist. Das Gegenstück dazu ist:

Code:
onmouseout="this.style.height='60px';"
...das macht das Element wieder klein, wenn die Maus weg ist. Funktioniert einwandfrei.

Was aber noch stört ist, das die Seite darunter dann so schlagartig nach unten ruckt. Logisch eigentlich.

In Javascript gibt's doch so ne Art delay und schleifen. Kann man ohne größeren Umweg die Größe des elements sanft ändern, in dem der height-wert langsam von 60 auf 100 erhöht wird?
php_frage ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 28.04.2006, 21:36  
Gast
 
Beiträge: n/a
Standard

Vielleicht findest du hier was passendes: http://www.jswelt.de/index.php?opencat=JavaScripts

Gruß
phpfan
  Mit Zitat antworten
Alt 28.04.2006, 22:19  
Benutzer
 
Registriert seit: 17.12.2005
Beiträge: 93
php_frage
Standard

Hab mal was gebastelt das soweit funktioniert:

Code:
<script type="text/javascript">
function agb_bigger(){
	var h;
	h = document.getElementById("agb").style.height;
	h = h.replace("px","");
	if(h < 150){
		h++;
		h++;
		h++;
		h++;
		h++;
		h++;
		document.getElementById("agb").style.height=h+'px';
		window.setTimeout("agb_bigger()", 10);
	}
}

function agb_smaller(){
	var h;
	h = document.getElementById("agb").style.height;
	h = h.replace("px","");
	if(h > 60){
		h--;
		h--;
		h--;
		h--;
		h--;
		h--;
		document.getElementById("agb").style.height=h+'px';
		window.setTimeout("agb_bigger()", 10);
	}
}
</script>

Im Textarea binde ich ein:

Code:
onmouseover="agb_bigger();" onmouseout="agb_smaller();"
Problem: Ist agb_bigger(); einmal aktiviert, ist es für immer aktiv! Wenn die Maus dann raus geht, wird agb_smaller(); aktiviert. Die Textarea wird KURZ klein, aber nur ein stückchen, und ist dann wieder riesen groß ... weil nämlich agb_bigger() immer noch aktiv ist, und die Textarea auf volle größe hält.

Ich habe bewusst die Größenangaben dynamisch übernommen, damit es nicht zu merkwürdigen rucklern kommt wenn die maus schnell rein und raus geht. Hoffe ihr versteht was ich meine...

Irgendwie muss man agb_bigger(); stoppen, wenn agb_smaller(); ausgeführt wird. Wenn dann wieder agb_bigger(); ausgeführt wird, muss agb_smaller(); gestoppt werden.

Aber ich habe keinen Plan wie man ein JS stoppen kann
php_frage ist offline   Mit Zitat antworten
Alt 28.04.2006, 22:21  
Benutzer
 
Registriert seit: 17.12.2005
Beiträge: 93
php_frage
Standard

ach ja die vielen h++ bitte ignorieren kann man auch mit h += 6 regeln
php_frage ist offline   Mit Zitat antworten
Alt 28.04.2006, 22:46  
Gast
 
Beiträge: n/a
Standard

Nicht per setTimeout aufrufen, sondern per setInterval
http://de.selfhtml.org/javascript/ob...m#set_interval

Rückgabewert speichern und clearInterval aufrufen, wenn
a) das Objekt seine maximale/minimale Ausdehnung erreicht hat
b) die "Gegenaktion" ausgeführt wird.
http://de.selfhtml.org/javascript/ob...clear_interval
  Mit Zitat antworten
Alt 29.04.2006, 00:43  
Benutzer
 
Registriert seit: 17.12.2005
Beiträge: 93
php_frage
Standard

gute Idee mit dem setInterval. Mit setTimeout ging's zwar auch, aber mit setInterval läuft's noch sauberer, weil die Vergrößerung sofort stoppt wenn die Maus aus dem Textarea raus ist. Danke für den Tipp
php_frage ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
selfhtml onmouseover, http://www.php.de/html-usability-und-barrierefreiheit/39533-bei-onmouseover-sanft-auf-100-pixel-vergroessyern.html, onmouseover selfhtml, javascript bilder anzeigen mit \zoom\-funktion selfhtml, selfhtml mouseover, selfhtml mouseover bild, javascript bild langsam vergrößern, mouseover bild langsam vergrößern, selfhtml onmouseover bild vergrößern, mouseover selfhtml, javascript bild langsam vergrössern, mouseover bild vergrößern, bild vergrößern bei mouseover , html, beispiel, selfhtml, bild zoom javascript onmouseover, javascript bild vergrößern, on mouse over selfhtml, selfhtml bild vergrößern, onmouseover this.style.height, pixel vergrößern, javascript mouseover bild langsam vergrößern

Alle Zeitangaben in WEZ +1. Es ist jetzt 22:52 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.