Beiträge von basti1012

    so ist die liste jetzt erste reihe fest und sotierbar oder jetzt sind die scrolleisten weg .


    die erste reihe hat auch noch ein schönheits fehler so die <th> passen sich nicht den unteren breiten an,also so habe ich elf mal th mit 76 px oder so also alle gleich gross


    der jetzige code

    Code
    addGlobalStyle('tbody{position:absolute; top:60px; left:100; width:76px;background:red;height:20px;}');
    addGlobalStyle('tr{width:800px;}');

    ja wie gesagt alles einzelnt kriege ich irgendwie hin,aber alles zusammen kriege ich nicht hin und finde auch nicht mal eine im netz wo man sich das abkucken könnte ..

    also zur tabelle ich habe gegoogelt wie ein weltmeister aber finde nur tabellen die scrollbar sind und keine feststehende erste reihe und sortierbar sind ,oder sortierbare liste mit scrollbar und feststehender erste reihe...ich hoffe habe das jetzt richtig geschrieben,verstehe nicht warum ich das nirgendswo finde...gibst das überhaupt??



    Code
    addGlobalStyle('thead{position:absolute;}');// erste reihe steht passt sich nicht die breite an
    
    addGlobalStyle('.tesst1{position:absolute;}'); // " " "
    
    addGlobalStyle('.testt{position:absolute;width:800px;}');// erste reihe steht aber <th> wächst nicht mit,und erste reihe verdeckt,liste ist noch sortierbar

    hatte noch mehr versuche aber alles nur müll bei rumgekommen....also feststehende listen findt man ja im netzt aber wie i mein fall das sie dann noch sortierbar sein soll habe ich nix gefunden..


    das muss ja irgendwie machbar sein ...wollte mein width mal bei <th> anwenden aber der nimmt immer nur ein <th> nicht alle...auch komisch..

    also so

    Code
    addGlobalStyle('th{position:absolute;width:800px;}');

    da nimmt er nur den letzten th nicht alle..verstehe ich nicht ,habe schon viel mit css rumgespielt aber das verstehe ich gerade auch nicht

    ich werde das gleich noch mal testen und meine fehlversuche dann posten..


    habe kleine frage zwischen durch


    Code
    var aa = blabla
    for(a=0;a<=aa.lenght;a++;)
    var test =aa.bla bla[a].innerHTML;
    alert(test)
    }

    so wird mir der alert ja öffters angezeigt.


    ich möchte aber den letzten haben,also das ende von lenght.

    wie mache ich das an besten ,das der alert den letzen wert von lenht ausliest bzw anzeigt..


    weil ich brauche immer den letzten wert aus einer reihe zb aus einer tabelle oder so ,nur kann ich length nicht mit einer fester zahlen versehen weil bei meinen scripten kommischerweisse alles variert...


    danke schon mal

    wie in meinen letzten beitrag gesagt habe hatte ich alles soweit geschafft .... jetzt kommt das nächste problem dazu was hier zum thema auch noch passen sollte...meine tabelle ist mitlerweile sotierbar und scrollbar....

    jetzt möchte ich das der tabellenkopf stehen bleibt beim scrollen.

    habe schon gegoogelt und auch einiges getestet..


    ich habe über css mal versucht das hinzubekommen aber das klappte nur zur hälfte... habe die zeile zwar zum stehen bekommen ,aber dann hat sich sich der tabellenbreite nicht angepasst ( weil tabelle mal breiter ist und mal nicht )..

    dann habe ich die tabellenbreite ausgelesen und wollte das dann über css bzw über id dann die breite der kopfzeile anpassen,was komischerweisse nicht geklappt hat ...


    hatte dann mal die tabelle eine feste breite gegeben,was leider anschön wahr wenn der inhalt breiter wurde...,hat zwar geklappt aber der nachteil wahr das die erste spalte unter der kopzeile verschwindet...


    habe bei googel auch mal was gefunden was auch nur zur hälfte klappt ,und bei meinen versuchen habe ich es ja fast geschafft ,aber nur das grösste problem dabei ist ,das die tabelle dann nicht mehr sortierbar ist..


    also ich bräuchte hilfe das meine kopzeile stehen bleibt beim scrollen und sich die zeile weiterhin der breite anpassen tut und die ganze tabelle sortierbar bleibt ..


    zeile von der tabelle

    meine kopf

    Code
    document.getElementById("ii").innerHTML +=' <div id="scro" class="scro"><table border="1" bordercolor="black" class="sortable" id="tab" style="margin: 0 auto;"> <thead id="testt" class="testt"><tr><th >.</th><th >Platz</th><th >Spieler</th><th >Bande</th><th >Status</th><th >Stadt</th><th>Reg</th><th >Punkte</th><th >Differenz</th><th>Cash</th><th>Fight</th></tr></thead> <tfoot><tbody id="kill"></tbody></tfoot></table></div></div>';

    die ganzen test namen sind nur zum testen bis mal was klappt


    hier meine jetzige css

    Code
    addGlobalStyle('.sortable tr{margin: 50px;padding:50;text-align: center;}');
    addGlobalStyle('.sortable tr  :hover{background:#2D2D9D;}'); 
    addGlobalStyle('.sortable tr  {background:#2F4F4F;}'); 
    addGlobalStyle('.scro {width: 800px; height: 500px;overflow: auto;}');


    muss nochmal dazuschreiben das es ein user script ist und die tabellen breite immer varieirt....

    bis jetzt läuft im script alles nur die erste zeile soll stehen bleiben beim scrollen

    ich habs jetzt ...hier meine lösung die endlich funktioniert..zumindest erstmal ,script ist noch nocht fertig da kommen bestimmt noch probleme..


    Code
    var i ='<td> '+a+'</td><td> '+bild+''+platz+'</td><td>'+ida+'</td><td> '+bande+' </td><td>'+bandenstatus+' </td><td>'+stadt+' </td><td>'+reg+'</td><td> '+punkte+'</td><td>'+bild1+'  '+differenz+'</td><td><font  style="color:'+farbe1+'">'+cash+'&nbsp;&euro;</font></td><td>'+fight+' </td></tr>';
         let frag = document.createDocumentFragment();
       let row = frag.appendChild(document.createElement('tr'));
                            row.innerHTML = i;
             document.getElementsByTagName("table")[1].getElementsByTagName("tbody")[0].appendChild(frag);

    das kommt in meiner sortierbaren liste rein


    Code
    document.getElementById("ii").innerHTML +='<table border="1" class="sortable" id="tab" style="margin: 0 auto"><thead><tr><th >.</th><th >Platz</th><th >Sieler id</th><th >Bande</th><th >Status</th><th >Stadt</th><th>Reg</th><th >Punkte</th><th >Differenz</th><th>Cash</th><th>Fight</th></tr></thead><tfoot><tbody></tfoot></tbody></table>';

    und ich bzw der user kann soviele tr reihen sich zusammen suchen wie es sein muss und alles bleibt sotierbar...

    man das wahr aber nee schwere geburt für mich

    habe gemerkt das text node natürlich nnur text wieder geben kann keine bilder und links ,,ich idiot.


    jetzt habe ich es mit document.createDocumentFragment();

    versucht was auch klappt aber jetzt ist die liste nicht mehr sortierbar.

    also auch mist ..

    das kann doch nicht so komplizierz sein oder doch ???

    die tabelle soll so wie sie ist sein + daten aus der api...

    eine sortierbare liste habe ich ja jetzt soweit,aber bekomme die daten nicht so rein wie es soll.

    jetzt habe ich folgenes versucht

    Code
     var Zeile = document.createElement("tr");
       Zeile.id = "Zeile"+a;
            document.getElementsByTagName("table")[1].getElementsByTagName("tr")[0].appendChild(Zeile);
                            var Zelle0 = document.createElement("td");
                            var inhalt0 = document.createTextNode(apidaten);
               Zelle0.appendChild(inhalt0);
                      document.getElementById("Zeile"+a).appendChild(Zelle0);

    wenn apidaten ein bild oder links beinhaltet wird mehrder code angezeigt nicht das bild btw der link....wenn ich das jetzt noch hinbekommenwürde hätte ich es geschafft ...aber wie bekomme ich das jetzt hin das er das richtig anzeigen tut

    http://www.pennergame.de/highscore/user/



    da kann man auch ohne anmeldung drauf..


    diese liste soll sotierbar werden und zusätzlich hole ich mit den request noch extra infos wie geld und so weiter .


    Code
    GM_xmlhttpRequest({
            method: 'GET',
               url: 'http://www.pennergame.de/dev/api/user.' + id + '.xml',
            onload: function(responseDetails) {
                var parser = new DOMParser();
                var dom = parser.parseFromString(responseDetails.responseText, "application/xml");
    //   hier kommt noch abfrage rein wie geld und so weiter 

    die daten sollen dann noch in der liste mit rein ..

    die liste hat ja jetzt nur 25 leute...da der user ja irgendwann leute nach geld usw suchen sollen kann das ergebniss auch mehr als 25 sein ...

    die user id bekommt man wenn man http://www.pennergame.de/highscore/user/ auf die pennernamen geht da sind die user ids versteckt und mit der id kann man dann den request machen und noch extra daten bekommen die so nicht in der highscore stehen



    Code
    document.getElementById("ii").innerHTML ='<table border="1" class="sortable" style="margin: 0 auto"><thead><tr><th >.</th><th >Platz</th><th >Sieler id</th><th >Bande</th><th >Status</th><th >Stadt</th><th>Reg</th><th >Punkte</th><th >Differenz</th><th>Cash</th><th>Fight</th></tr></thead><tfoot>'
      +'<tbody>'
     
    // hier sollen die ergebnisse rein was der request dann rausspuckt..wie gesagt das kann dann eine reihe sein 25 oder auch mehr 
    +<tr id="a1">' // so für eine reihe zb 
    +<tr id="a2">'//  für 2 reihen 
    .....usw  
      +'</tfoot></tbody></table>';

    das ist ein problem da ich vorher nicht weiss wie viele reihen da rein kommen ,muss ich dafür eine lösung finden...



    ich hoffe wir kommen der sache jetzt etwas näher weil erklären ist nicht mein ding

    der request soll in einer schleife laufen wo die id jedesmal wechselt und die erforderlichen daten holt..

    nun ist mein problem das in diesen fall jetzt bei schleifen durchlauf 5 ende ist ....


    ich knnte das

    Code
     + '<tr id="a1"> '<tr id="a2> .......

    bis 60 oder so wiederholen...

    nur wenn dann aber nur 20 requeste durchlaufen habe ich zuviele <tr id="a erstellt und meine tabelle ist nicht mehr sortierbar.


    deswegen muss genau so viele <tr id=""> erstellt werden die beim request rauskommen....das kann natürlich 5 sein oder auch 60 ..

    das weis nur der server wie viele ergebnisse da raus kommen...


    ich erstelle eine highscoresuche die im bestimmten geld und punktebereich suchen soll..das ergebniss wird dann abgerufen was ich dann abfange und hier in der tabelle als sotierfunktion einbauen will....


    ich hoffe man versteht mich jetzt weil bin nicht gut in erklären

    die daten kommen von ein browser spiel.da soll mehrere profile abgefragt werden und dann in der tabelle rein wo man durchs klicken die grösse sortieren kann ,zb geld höhe und so..



    ich sollte noch erwähnen das es ein userscript ist.

    so jetzt mein problem dazu...

    da wo +'<tr id="a0"> und so weiter steht sollen x beliebige spalten erzeugt werden die der user durch highscoresuche erzeugen tut ...ich sage mal so zwischen 20-60


    ich könnte da ja jetzt <tr id="a0"> <tr id="a1"> ... und so weiter ,also zb bis 60...

    nur wenn der user dann wenniger spalten erzeugen tut sind die spalten nicht mehr sortierbar..

    wie kann ich da jetzt userbedingte spalten erzeugen?

    Der user weiss aber auch nicht wie viele spalten erzeugt werden weil das durch das such ergebniss bestimmt wird...

    ich hoffe ihr versteht was ich meine und könnt ir irgendwie dabei helfen


    Code
    document.getElementById("a"+a).innerHTML +='<td> '+a+'+1</td><td>'+a+'</td><td>'+a+'</td><td>'+a+'</td><td>'+a+'</td><td> '+a+'1</td><td> 2017/11/'+a+' </td></tr>'
      }

    der code ist nur zum testen da..das soll dann die hghscore abfrage erstellen

    das wusste ich noch gar nicht ....habe die ganze nacht gegoggelt und so einiges über css gelesen...ich wusste gar nicht das es so viele sachen gibt die man mit css mavchen kann...zb habe ich mal ein script gefunden womit man regenbogen schrieft machen kann(jeder buchstaben nee andere farbe),wo reichlich viel code für gebraucht wurde...mit css ist das ja theoretisch mit 2 reihen möglich..

    hier ist erstmal der code den ich für farbwechseln des hintergrundes gefunden ,bzw gebastelt habe,fals einer mal so was ähnliches sucht







    Code
    addGlobalStyle('html {-webkit-animation: colorchange 5s infinite; }');
    
        addGlobalStyle('@keyframes colorchange{0%   {background: red;}25%  {background: yellow;}50%  {background: blue;}75%  {background: green;}100% {background: red;}}');


    Habe noch mal nee frage...ist css3 das gleiche wie css ? kann man css3 auch für javascripte bzw in meinen fall userscripte benutzen ??

    Tag zusammen ...ich versuche gerade ein Script zu bauen das bei mein hintergrund die farben wechseln tut..

    es soll aber nict abruck gehen sondern langsam von einer farbe in der anderen gehen ..also zb von rot nach grün über alle rot orng und geld töne..... dazu währe es ja einfach eine schleife zu machen die immer die zahlen ein höhr macht .....


    aber jetzt zu mein problem ...wenn ich mmir die ganzen farbpalleten so ankucke ist da irgendwie kein system drine...ich glaube ,it meiner schleife ,das die farben langsam zur anderen farbe wechselt ist wohl nicht möglich ...


    oder weiss einer von euch wie man bei den zahlen cods durchblickt und durch einer schleife die farbe fädern kann ??

    der text aus der variabel der sollte durchs mkieren da irgendwie hin kommen ,aber so wie ich es jetzt habe kopiert er den makierten text da direkt rein ....ich teste mal noch etwas nicht das da jetzt doch och was falsch ist und das mit den kopieren nur einmal zufall wahr

    frag mich nicht warum aber sofunctioniertes wie ich es haben


    document.body.addEventListener('click', copy, true);

    function copy(e){

    var text = window.getSelection()

    localStorage.setItem('text', text);

    var as=localStorage.getItem('text');

    var inp = document.createElement("input");

    inp.value = as;

    document.body.appendChild(inp);

    inp.select();

    document.execCommand("copy");

    inp.parentNode.removeChild(inp);

    }



    dank dir mit deine hilfe hat es ja irgendwie geklappt .....ich weiss nur nicht ob maan den code so lassen kann ,ob das java gerecht ist ??

    dein code wie er da steht klappt so leider nicht ...und das mit appendchild verstehe ich wahrscheinlich nie ...habe das versucht und habe ein input feld erzeugt ....das input feld hat auch den text den ich da rein geschrieben habe nicht kopiert ...aber das feld soll ja nicht angezeigt werden weil sonst könnte ich ja das script nehmen was ich schon habe ....aber ich will makierten text in der zwischenablage habe ,aber das klappt irgendwie nicht , ich glaube mitlerweile das geht nicht mit userscripte ,weil habe noch nix gefunden was funktiniert auser das vorhandene,,aber das macht ja nicht das was ich brauche

    bei den code


    Code
    var input = document.getElementById("input"); 
    var button = document.getElementById("copy-button"); 
    
    button.addEventListener("click", function (event) { 
     event.preventDefault(); 
     input.select(); 
     document.execCommand("copy"); 
    }); 

    funktioniert ja alles..aber ich will ein vorhandenentext aus dem script sagen wir mal

    var bla = "hallo text"


    in der zwischen ablage kopieren ..


    mit

    Code
    input.select(); 

    aus demtextfeld geht es ja aber wie kriege ich den text aus "bla" in der zwischenablage weil bla.select(); geht ja leider nicht ....

    habe da schon mehrere sachen versucht ,aber nicht das erreicht was ich haben will

    komisch eben wo ich das ohne hover versucht habe hats nicht geklappt....jetzt habe ich dein code kopiert und es klappt...musste da wohl ein tipp fehler drinn gehabt habe oder so ..

    naja dank dir hat aufjedenfall geklappt .....



    hast du noch nee idee wegen mein copy in zwischenablage problem ( siehe vorheriegen beitrag von mir ) oder soll ich dafür neues thema aufmachen?

    nee andere lösung habe ich nicht gefunden aber deine lösung finde ich gut und funktioniert.... danke dir ...


    jetzt habe ich noch ein problem wo ich nicht weiter kommeund nicht verstehe...

    es geht um dieses script


    https://werner-zenk.de/javascr…ischenablage_kopieren.php


    ich möchte da kopie paste mit dcript raus machen über kopierten text... wie ich makierten text auslese das habe ich schon gefunden und klappt auch ...


    jetzt bekomme ich das nicht hin das der makierte text in der ablage kommt ,ich habe es so probiert ,,



    Code
    var text = " makierter text der in ablage soll";
    
    button.addEventListener("click", function (event) { 
     event.preventDefault(); 
     text.select(); 
     document.execCommand("copy"); 
    }); 

    das sollte doch gehen weil inputwahr ja vorher der text aus den inputfeld,oder habe ich da irgendwie ein denkfehler drinne???