IFrame dynamisch ändern / Problem

Hi,

Danke, ich ahbe aber schon was anderes gefunden:
Javascript:
<script type="text/javascript">

<!--
var MyObject;
var xstart=450,ystart=200,xabs,yabs;

function SetAbsPos(x,y) /* setzen der absoluten Koordinaten */
{
  xabs=x;
  yabs=y;
  MyObject.width=xabs;
  MyObject.height=yabs;
}

function SetRelPos(x,y) /* relative Verschiebung des Objekts */
{
  xabs+=x;
  yabs+=y;
                        /* Sicherung, dass Koordinaten in Grenzen bleiben: */
  if (xabs<0)
    xabs=0;
  if (xabs>1024)
    xabs=1024;
  if (yabs<0)
    yabs=0;
  if (yabs>1024)
    yabs=1024;
                        /* setzen der Position */
  MyObject.width=xabs;
  MyObject.height=yabs;
}

function Init()
{
  if (document.all)     /* Fuer Konqueror, Opera und Internet Explorer */
    MyObject=document.all.MyDiv.style;
  else
  if (typeof(document.getElementById)=="function") /* Fuer Netscape Navigator 6.x */
    MyObject=document.getElementById("MyDiv").style;
  else
  if (document.MyDiv) /* Fuer Netscape Navigator 4.x */
    MyObject=document.MyDiv;
  else /* Fuer dumme Browser, die von nichts wissen wollen */
    alert("Your stupid browser is not really able to support the functionality of this page");
  SetAbsPos(xstart,ystart); /* Setzen der Anfangsposition */
}
//-->
</script>

PHP:
		echo "<a href=\"javascript:SetRelPos(0,-30);\"><img src=\"./img/pfeil_o.gif\" border=\"0\"></a> ";
		echo "<a href=\"javascript:SetRelPos(0, 30);\"><img src=\"./img/pfeil_u.gif\" border=\"0\"></a> ";
		echo "<a href=\"javascript:SetRelPos(30, 0);\"><img src=\"./img/pfeil_r.gif\" border=\"0\"></a> ";
		echo "<a href=\"javascript:SetRelPos(-30, 0);\"><img src=\"./img/pfeil_l.gif\" border=\"0\"></a> ";

Das funktioniert so:
Man drückt jeweils auf eins der Grafiken und dann verändert sich die Größe jeweils nach oben, rechts oder links in 30px Schritten.

Läßt sich das auch irgendwie so anwenden, das wenn man nun an etwas zieht, und sich das dann automatisch vergößert, eben wie bei Windows die Fenster?

Gruß Kevin
 
Zuletzt bearbeitet von einem Moderator:
kevkev hat gesagt.:
Läßt sich das auch irgendwie so anwenden, das wenn man nun an etwas zieht, und sich das dann automatisch vergößert, eben wie bei Windows die Fenster?
Klar geht das. Aber was erwartest du von uns? Ein fertiges Script? con-f-use hat dir doch ein wunderbares Snippet zur Analyse der Mausposition gegeben – jetzt musst du das nur noch sinnvoll mit dem Rest kombinieren, und dann klappt das schon. ;)

con-f-use: Du als Stammuser solltest doch eigentlich wissen, dass man sowas am schnellsten über den »zitieren«-Button erfährt. ;)
 
Zuletzt bearbeitet:
Hi,

Nein, Ich erwarte ne richtig Fette Tutorials Seite :D!
Ne Spaß beiseite.

Haste Recht, Ich halt nun die Klappe -> Ich bekomme das schon hin :)!
Danke an alle :D!

Gruß Kevin
 
Hi,

Ich hab ein Problem mit einem JavaScript.
Javascript:
<script type="text/javascript">
<!--
var MyObject;
var xstart=450,ystart=200,xabs,yabs;

function SetAbsPos(x,y) /* setzen der absoluten Koordinaten */
{
  xabs=x;
  yabs=y;
  MyObject.width=xabs;
  MyObject.height=yabs;
}

function SetRelPos(x,y) /* relative Verschiebung des Objekts */
{
  xabs+=x;
  yabs+=y;
                        /* Sicherung, dass Koordinaten in Grenzen bleiben: */
  if (xabs<0)
    xabs=0;
  if (xabs>1024)
    xabs=1024;
  if (yabs<0)
    yabs=0;
  if (yabs>1024)
    yabs=1024;
                        /* setzen der Position */
  MyObject.width=xabs;
  MyObject.height=yabs;

  speichere_cookie();
}

function Init() {
	var cookiewidth = GetCookie('width');
	var cookieheight = GetCookie('height');

	if (document.all) {    /* Fuer Konqueror, Opera und Internet Explorer */
		MyObject=document.all.MyDiv.style;
	} else {
		if (typeof(document.getElementById)=="function") {/* Fuer Netscape Navigator 6.x */
	    	MyObject=document.getElementById("MyDiv").style;
		} else {
			if (document.MyDiv) {/* Fuer Netscape Navigator 4.x */
				MyObject=document.MyDiv;
			} else { /* Fuer dumme Browser, die von nichts wissen wollen */
				alert("Your stupid browser is not really able to support the functionality of this page");
			}
		}
	}

//Wenn Ich anstatt der If Abfrage nur das hier reinmache:
//SetAbsPos(xstart,ystart);
//funktioniert es
//Mit Abfrage nicht :(
//Und mit dem hier:
//SetAbsPos(cookiewidth,cookieheight);
//Auch nicht
	if ( cookiewidth == null ) {
		SetAbsPos(xstart,ystart);
	} else {
		SetAbsPos(cookiewidth,cookieheight);
	}
}

function getCookieVal (offset) {
    var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1)
        endstr = document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg)
        return getCookieVal (j);
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0) break;
    }
    return null;
}

function speichere_cookie () {
	SetCookie('width', document.getElementById("MyDiv").style.width);
	SetCookie('height', document.getElementById("MyDiv").style.height);
}

function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
//-->
</script>

HTML:
<body onload="Init();">

<a href="javascript:SetRelPos(0,-30);"><img src="./img/pfeil_o.gif" border="0"></a> 
<a href="javascript:SetRelPos(0, 30);"><img src="./img/pfeil_u.gif" border="0"></a>
<a href="javascript:SetRelPos(30, 0);"><img src="./img/pfeil_r.gif" border="0"></a>
<a href="javascript:SetRelPos(-30, 0);"><img src="./img/pfeil_l.gif" border="0"></a>//Das wäre z.b. ein Bild auf das Ich klick

<div name="MyDiv" id="MyDiv" style="margin:auto; height:300; width:450; border:1px solid #EFEFEF; text-align:left;">123</div>

Der Fehler kommt wenn Ich auf eines der Bilder klicke:
Code:
Zeile: 61
Zeichen: 3 
Fehler: Ungültiges Argument
Code: 0

Sorry wenn ich jetzt so einen Haufen mit Code sende, aber Ich weiß nicht genau was der Fehler ist :(.

Bitte helft mir :(!

Gruß Kevin


[editpost by mod] Da es sich hierbei um das erweiterte Javascript aus dem Thread IFRame dynamisch ändern handelt, werden die beiden Themen zusammengeführt.
 
Zuletzt bearbeitet von einem Moderator:
In Zukunft bitte noch schreiben, was der Code genau machen soll. Code ließt sich einfach deutlich besser, wenn man schon weiß, worauf er hinaus wills. Besonders wenn's ne Menge Code ist.

Außerdem bitte: Kein PHP im Javascript-Forum
 
Zuletzt bearbeitet:
Hi,

Ok :)!

Also:
Der Code soll, nachdem man auf einer der 4 Buttons drückt, jeweils die Größe des Div´s verändern.
Klick auf Button 1 = width+=30 px
Klick auf Button 2 = height+=30px
Klick auf Button3 = height-=30px
usw.

Das funktioniert soweit gut, nur möchte Ich, das bei jedem Klick der aktuelle Wert, also die Breite und die Höhe als Cookie gespeichert werden soll.

Das funktioniert auch, nur das auslesen will nicht wirklich.

Ich bekomme zwar die Werte ausgelesen, z.b. als alert(), auch die Größe des Divs wird am laden der Seite festgelegt, doch danach funktionieren die Buttons nicht mehr, die die Größe des Div´s verändern sollen.

Dann erscheint der oben gennante Fehler.

gruß Kevin
 
Ich bin zwar noch nicht ganz durch deinen Code gestiegen, aber es scheint irgentwie an deinen Cookie-Funktionen zu liegen. Versuch mal die Cookie-Funktionen aus dem Forum. Die sind auch etwas, sagen wir ablenkungsfreier als deine.

Was du auch versuchen könntest ist das hier:
Code:
<a href="#" onclick="SetRelPos(0,-30); return false;"><img src="./img/pfeil_o.gif" border="0"></a>
Das ist sowieso die konsitentere Methode um Javascript-Funktionen über Links aufzurufen.

Dein Code ist übrigens wie ich finde sehr umständlich und überladen. Vielleicht willst du da nochmal dran basteln...

Danke übrigens für rausnehmen des php-Codes!
 
Zuletzt bearbeitet:
Hi,

Danke, aber da geht es auch nicht.

Folgendes:
Am Start wird der Cookie Wert, der als letzes gespeichert wurde richtig ausgegeben, aber wenn ich danach auf einen der Buttons drücke, springt die Breite und die Höhe des Div´s auf 1024 und danach kommt der komischer Fehler wieder.

Sehr komisch :(!

Gruß Kevin
 
Hab jetzt mal selber getestet: Im IE funktioniert das Script bei mir. In allen anderen Borwsern nicht. Cookies gehen bei mir in keinem Fall. Welchen Borwser hast du denn benutzt?
 
Zurück