Laden...

Größe Imagebutton an Browsergröße anpassen

Erstellt von Nele vor 17 Jahren Letzter Beitrag vor 17 Jahren 2.762 Views
N
Nele Themenstarter:in
37 Beiträge seit 2006
vor 17 Jahren
Größe Imagebutton an Browsergröße anpassen

Hallo,

ich möchte gerne wenn sich die Größe des Browserfensters ändert, dass sich auch die Größe des Imagebutton ändert.

Kann mir jemand sagen, wie ich die Größe des Browsers(IE) in c# ermitteln kann?

Oder vielleicht geht es ja mit javascript:

da erhalte ich die Größe mit

document.body.clientHeight;
document.body.clientWidth;

mein Problem besteht jetzt, darin dem Imagebutton diese Werte für seine Width/Height Eigenschaft zu übergeben. Kann mir da vielleicht jemand helfen?

Vielen Dank für Eure Hilfe
Nele

I
1.739 Beiträge seit 2005
vor 17 Jahren

Das geht nur Clientseitig,
zb: mit Javascript auf das Resize reagieren und die Buttongrösse anpassen(Die Berechnung ist simple Mathematik). Alternativ lassen sich Elementgrössen auch prozentual angeben, dann erledigt das der Browser.

oder du machst wegen einem Resize einen Roundtrip(erfordert Neuladen der Seite wg. Grössenänderung(fast so gut wie 100 Popups in Sachen Akzeptanz)).

N
Nele Themenstarter:in
37 Beiträge seit 2006
vor 17 Jahren

Danke für deine Antwort ikaros.

Mit javascript hab ich es schon probiert, aber, wie schon geschrieben, schaff ich es nicht die Werte die ich habe dem Imagebutton zuzuweisen.

Da bin ich vielleicht im falschen Forum ?

Nele

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo Nele,

Da bin ich vielleicht im falschen Forum ?

Das habe ich auch gerade überlegt. So wie ich die Frage verstehe, gehört sie nach "Web- und Netzwerktechnologien" ==> verschoben.

herbivore

I
1.739 Beiträge seit 2005
vor 17 Jahren

Gib mal etwas Scriptcode. Meist liegts an falschen Zuweisungungen. Dh. es wurde die falsche Eigenschaft gewählt. Zur Laufzeit, muss man manchmal Eigenschaften die man aus statischen HTML nicht so kennt.

N
Nele Themenstarter:in
37 Beiträge seit 2006
vor 17 Jahren

Hallo,
ich hatte garnicht bemerkt, dass noch neue Antworten in dem Thread sind 8o

Ich habe immernoch das gleiche Problem, daher schreib ich hier nochmal rein, in der Hoffnung auf Hilfe 😁

also ich ruf mir beim Ändern der Fenstergröße die Weite und Höhe des Fensters auf
die Werte habe ich also in Variablen im javascript teil gespeichert.

Mein Problem besteht jetzt darin, die Variablen zu übergeben


<body id="bodytag" MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:imagebutton id="ImageButton1" style="Z-INDEX: 100; LEFT: 24px; POSITION: absolute; TOP: 40px" runat="server" Width="50px"  Height="50px"></asp:imagebutton>
form>
<script language="javascript">
   // für Höhe und Breite des Browser Fensters
   var h = document.body.clientHeight;
  var w = document.body.clientWidth; 

</script>
</body>




Weiß jemand Rat?

Danke
Nele

C
1.215 Beiträge seit 2004
vor 17 Jahren


<script type="text/javascript">
onresize /*<edit>*/ = onload /*</edit>*/ = function(){
    var imgBtn = document.getElementById('ImageButton1');
    imgBtn.style.height = (window.innerHeight ? innerHeight : document.body.offsetHeight) + 'px';
    imgBtn.style.width = (window.innerWidth ? innerWidth : document.body.offsetWidth) + 'px';
};
</script>

Grüsse

A
154 Beiträge seit 2005
vor 17 Jahren

Also ich sehe da 2 Probleme.
Du musst die ID deines Buttons clientseitig irgendwie herausbekommen.
Du musst die aktuelle Breite nach einem Postback wieder setzten.

Da die tatsächliche Id ja berechnet wird, musst du dir da was einfallen lassen. Das einfachste ist, du wählst einen markenten String und suchst durch deine Inputcontrols.

getElementsByTagName('input') -> und dann dein Array durchackern und den Teilstring suchen .

So, damit nach nem Postback dein Button nicht wieder die im Code definierte Größe bekommt, speicherst du per Javascript den Wert in ein HiddenField.
Im Servercode kommst du ja an dieses HiddenField, nimmst den Wert und setzt deine Breite im Button.

.

N
Nele Themenstarter:in
37 Beiträge seit 2006
vor 17 Jahren

Vielen lieben Dank für Eure Hilfe. 😁

Jetzt funktioniert es 👍

Nele