allgemeine fragen zu Javascript

  • aber richtig kann das noch nicht sein weil


    Code
    1. if (unsafeWindow.angular) {
    2. clearInterval(initWatcher);
    3. }

    sollte den timer doch stoppen oder was ist mit unsafewindow genau gesagt ....fehlerkonsole ist leer aber timer stoppt nicht

    Dieser Beitrag wurde bereits 3 Mal editiert, zuletzt von basti1012 ()

  • so habe mal etwas rumgespielt und was gebaut ,,vieleicht könnt ihr mir mal feedback geben und mir sagen das ich es viel zu umstäntlich gemacht habe .bzw wie es mit wenniger code geht ..


    https://greasyfork.org/de/scripts/35374-bastis-alert


    dazu noch ne frage bei css kann man ja transform: translate(0px,0px) angeben was heist das der sich nach x und y so viele pixel bewegt ...gibt es da auch ein code das er sich nach top:100px und left:100px bewegen tut,weil habe da nix gefunden,weil das könnte ich bei diesen script gut gebrauchen zu erstellen des alerts,weil wüsste sonst nicht wie das gehen sollte.....aber wahrscheinlich habt ihr auch nee bessere möglichkeit als wie ich es gebaut habe ,st bestimmt wieder zu lang geworden und umständlich



    Edit: habe was gefunden wegen top und left in pixeln

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von basti1012 ()

  • So etwas:

    kann dir jQuery abnehmen.


    Ich kenne nur Tampermonkey und da gibt es einen Funktionsaufruf um CSS hinzu zu fügen. Offenbar gibt es das auch in Greasemonkey:

    https://stackoverflow.com/ques…quivalent-in-tampermonkey

  • So etwas:

    kann dir jQuery abnehmen.

    ja gut ich wüsste jetzt nicht wie..ehrlich gesagt bin ich froh das ich das normale javascript so langsa kapiere,nach und nach sollte ich mich mal mit jquery vertraut machen .


    meines wissens ist Tampermonkey und gteasemonkey das gleiche..ich nutze beides..nur komisches ist das meine operafehlerkonsole nur müll anzeigt ...wenn ich da ein hochkomma vergesse läuft ein scipt einfach nicht mehr,aber fehler werden nicht angezeigt ..


    bei greasmonkey in ff wird mir der fehler angezeigt deswegen bastel ich immer mit greasmonkey..teste aber die scripte aber auch in opera ob sie da laufen,nur die fehlerkonsole verstehe ich da nicht ,das sie mir solche fehler nicht anzeigt....


    das mit

    Code
    1. GM_addStyle('bla bla')

    muss ich mal testen,das könnte mir wohl paar zeilen code ersparen....


    meine explodierende alert box,gibt es sows auch mit jquery,oder ist das nur so möglich wie ich es gemacht habe

  • gibt es für sowas nee lösung

    Code
    1. document.getElementById('hauptdiv, hauptalert').style.position='fixed';

    also mehrere ids das gleiche zuordnen??? oder muss man das für jede id einzelt machen weil mein beispiel geht so ja nicht

  • Ja, das geht.


    jQuery:

    Code
    1. $("#div1, #div2, #div3").each(function (idx, item) {
    2. $(item).css({
    3. "position": "fixed", "background-color": "blue", top: "0px", left: "0px",
    4. height: "100px", width: "200px"
    5. });
    6. });

    Ohne jQuery, indem Du die Funktion document.querySelectorAll() verwendest und über das Ergebnis mit einer for-Schleife iterierst.

    Es kann auch empfehlenswert sein, anstatt die IDs aufzuzählen, allen die selbe Klasse zu geben.

  • HABE MAL VERSUCHT UND GEGOOGELT


    Code
    1. document.querySelectorAll('#hauptdiv, #hauptalert').style.position='fixed';

    das geht leider so ja nicht muss ja dann auch über die schleife laufen.....somit habe ich ja zum schluss noch mehr code als wenn ich es so mache


    Code
    1. document.getElementById('hauptalert').style.position='fixed';
    2. document.getElementById('haupdiv').style.position='fixed';

    habe fehoft das es eine kurze schreibweisse gibt wie mein erster versuch,aber das schein wohl nicht so...schade...


    das mit der klasse währe eine idee,aber in der kleinen function extra nee klasse anzulegen währe ja auch mehr code als wie jetzt.... wenn ich mehrere ids mit gleichen angaben hätte dann währe es auf jedenfall sinn voll was anderes zu nehmen

  • wie macht man das in diesen fall die variabel f eine fortlaufene nummer h bekommt


    weil so gehts nicht


    so auch nicht

    Code
    1. var f[h]='hallo'+h;

    so auch nicht

    Code
    1. var f+h='hallo'+h;

    mehr fält mir nicht ein.


    das ergebniss soll sein das bei jeden klick auf ein feld ein alert mit ein anderen hallo rauskommt wie "hallo123" aber wennn dann zeigt er mir gar nix an weill fehler oder er zeigt mir immer den letzen in der schleife an ,in diesen fall hallo2929

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von basti1012 ()

  • Zitat

    das in diesen fall die variabel f eine fortlaufene nummer h bekommt

    Das lässt sich machen, aber nur mit einiger Trickserei. Es gibt viel bessere Lösungen:

  • Übrigens: Dieses:

    Code
    1. $("#div1, #div2, #div3").each(function (idx, item) {
    2. $(item).css({
    3. "position": "fixed", "background-color": "blue", top: "0px", left: "0px",
    4. height: "100px", width: "200px"
    5. });
    6. });

    geht noch wesentlich kürzer:

    Code
    1. $("#div1, #div2, #div3").css({
    2. "position": "fixed", "background-color": "blue", top: "0px", left: "0px",
    3. height: "100px", width: "200px"
    4. });
  • das probiere ich gleich erstmal alles aus vielen dank..


    noch nee frage mann kann beim erstelen eines divs ja zb

    Code
    1. box.id ="bla"
    2. box.ClasName="bla"
    3. box.innerHTML="blabla"
    4. und viele mehr.
    5. gibt es auch
    6. box.name="geht nicht"

    weil das funktionierte bis jetzt irgendwie nicht es läst sich mit Name nicht ansprechen auch wenn ich es gross schreibe(box.Name="bla")

  • mit documet.getElementsByName('namebox')


    aber klappte nie,deswegen dachte ich ich mache was falsch weil ich komischerweise noch nie gesehen hat das einer name erstellt ,immer nur id..


    also ist das so richtig ??

    box.name="namebox"


    und name muss auch klein sein,nicht wie bei classname wo CLASS gross anfängt

  • habe mal nee blöde frage ..


    habe zum beispiel eine anmation gebaut die in einen div eingebaut wurde

    <div id="fertige_animation></div>


    wie kann man die fertige animarion als hintergrundbild benutzen??? finde nix was genau das macht ..könnte mit z-index alle alle elemente ja grössere zindex werte geben ,aber das muss doch als hintergrung gehen oder bin ich da auf den holzweg

  • meinst du so ???

    Code
    1. document.getElementsByTagName('body')[0].innerHTML='<div id="hintergrund"></div>';
    2. GM_addStyle('#hintergrund{position:absolute;width:100%;height:100%;background:yellow;}');
    3. GM_addStyle('body{position:relative}');

    so wird der div gar nicht angezeigt der ist jetzt einfach weg

  • Leider kenne ich den Hintergrund nicht. Willst Du dieses div einer bestehenden Seite mit Userscript hinzu fügen? Bei deinem Code ist der body leer, weil das div durch die absolute Positionierung aus dem Fluss heraus genommen wird, und hat deshalb die Höhe 0. Und height:100% bezieht sich auf das Elternelement, in diesem Fall ist das body. D. h. wenn body die Höhe 0 hat, hat auch das div die Höhe 0 und ist nicht sichtbar. Versuche, Breite und Höhe des div auf 100vw und 100vh zu setzen.

  • Code
    1. GM_addStyle('#hintergrund{position:absolute;width:100vw;height:100vw;background:yellow;}');
    2. GM_addStyle('body{position:relative;}');
    3. var hinter = document.createElement("div");
    4. hinter.id = 'hinter';
    5. document.getElementsByTagName('body')[0].appendChild(hinter);
    6. hinter.innerHTML='<div id="hintergrund"></div>'

    Jo so ist der div wieder da ,ist aber nicht im hintergrund,liegt irgendwo dazwischen(zu 80%) aber kein background....


    ja ich bin ja noch am lernen und wolte mir statt ein blödes bild eine animation bauen die im hintergrund läuft ,zb bei googel..

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von basti1012 ()