SetGadgetZIndex()

Hier könnt ihr alle Fragen zu SpiderBasic austauschen.
stevie1401
Beiträge: 700
Registriert: 19.10.2014 15:51
Kontaktdaten:

SetGadgetZIndex()

Beitrag von stevie1401 »

Ich möchte jetzt einen bestimmten Button hervorheben, kenne aber den z-Index nicht.
Gibt es auch sowas wie "GetGadgetZIndex(gadget, zindex)",damit in den z-Index eines Gadgets herausfinden kann?



Code: Alles auswählen


OpenWindow(0,10,10,800,600,"Fenster")
For i=1 To 5
  ButtonGadget(i,x,30,100,30,Str(i)+" Button ")
  x+50
Next i

For i=1 To 5
 setGadgetZIndex(i, Random(30,1))
Next i


Procedure SetGadgetZIndex(gadget, zindex)
  Protected styles.s
  Protected id.s
  
  ;Falls nicht existiert, dann <style type="text/css" id="SBCustomStyles"></style> im Head erstellen, ohne Inline-Styles verwenden zu müssen
  ! if (!document.getElementById('SBCustomStyles')) {
  !   var StyleElement = document.createElement('style');
  !   StyleElement.type = 'text/css';
  !   StyleElement.id = 'SBCustomStyles';
  !   var HeadElement = document.getElementsByTagName('head')[0];
  !   HeadElement.appendChild(StyleElement);
  ! }
  
  ;Falls nicht existiert, dann eine ID im Hauptelement erstellen, um später per CSS besser darauf zugreifen zu können
  ! var GadgetElement = $(spider_GadgetID(v_gadget).div);
  ! if (GadgetElement.attr("id")) {
  !   v_id = GadgetElement.attr("id");
  ! } else {
  !   GadgetElement.attr("id", "SB_Gadget_" + v_gadget);
  !   v_id = GadgetElement.attr("id");
  ! }
  
  styles = "#" + id + " { z-index: " + zindex + "; }"
  
  ;Styles hinzufügen
  ! document.getElementById("SBCustomStyles").appendChild(document.createTextNode( v_styles ));
  
EndProcedure





Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: SetGadgetZIndex()

Beitrag von Kiffi »

Code: Alles auswählen

EnableExplicit

Procedure SetGadgetZIndex(Gadget, ZIndex)
  
  If IsGadget(Gadget) = #False : ProcedureReturn : EndIf
  
  Protected GID = GadgetID(Gadget)
  
  ! $(v_gid.div).css("z-index", v_zindex);
  
EndProcedure

Procedure GetGadgetZIndex(Gadget)
  
  If IsGadget(Gadget) = #False : ProcedureReturn : EndIf
  
  Protected GID = GadgetID(Gadget)
  
  ! return $(v_gid.div).css("z-index");
  
EndProcedure


OpenWindow(0, 10, 10, 800, 600, "Fenster")

Define i, x

For i = 1 To 5
  ButtonGadget(i, x, 30, 100, 30, Str(i) + " Button")
  x + 50
Next

For i = 1 To 5
  SetGadgetZIndex(i, Random(30, 1))
Next

For i = 1 To 5
  Debug "Button " + Str(i) + ": z-index=" + GetGadgetZIndex(i)
Next
a²+b²=mc²
stevie1401
Beiträge: 700
Registriert: 19.10.2014 15:51
Kontaktdaten:

Re: SetGadgetZIndex()

Beitrag von stevie1401 »

Großartig!
Ich programmiere nur noch mit Linux.
Linux Mint 21.x
Antworten