allgemeine fragen zu Javascript
-
-
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
-
hat keiner verbesseungsvorschläge für mich ???
-
So etwas:
Code
Alles anzeigenfunction getSize() { var myWidth = 0, myHeight = 0; if( typeof( window.innerWidth ) == 'number' ) { myWidth = window.innerWidth; myHeight = window.innerHeight; } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { myWidth = document.documentElement.clientWidth; myHeight = document.documentElement.clientHeight; } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { myWidth = document.body.clientWidth; myHeight = document.body.clientHeight; } return {wi:myWidth, hi:myHeight}; }
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:
-
So etwas:
Code
Alles anzeigenfunction getSize() { var myWidth = 0, myHeight = 0; if( typeof( window.innerWidth ) == 'number' ) { myWidth = window.innerWidth; myHeight = window.innerHeight; } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { myWidth = document.documentElement.clientWidth; myHeight = document.documentElement.clientHeight; } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { myWidth = document.body.clientWidth; myHeight = document.body.clientHeight; } return {wi:myWidth, hi:myHeight}; }
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
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
-
-
Ja, das geht.
jQuery:
Code$("#div1, #div2, #div3").each(function (idx, item) { $(item).css({ "position": "fixed", "background-color": "blue", top: "0px", left: "0px", height: "100px", width: "200px" }); });
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
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
Codedocument.getElementById('hauptalert').style.position='fixed'; 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
Code
Alles anzeigenvar ff = document.createElement("div"); ff.id = 'ff'; document.getElementsByTagName('body')[0].appendChild(ff); var nrcols = 30, nrrows = 30; for (var i = 0; i < nrrows; i++) { var row = document.createElement("div"); ff.appendChild(row); for (var j = 0; j < nrcols; j++) { var box = document.createElement("div"); box.className = "gridbox"; var h=''+i+''+j+''; var f'+h+'='hallo'+h; box.id ='hh'+h+''; row.appendChild(box); // var hh =document.getElementById('hh'+h) $('#hh'+h).click(function() { alert(f+h)// geht nicht der alert,aber alert(this.id) das geht }) } }
weil so gehts nicht
so auch nicht
so auch nicht
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
-
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:
Code
Alles anzeigenfor (var j = 0; j < nrcols; j++) { var box = document.createElement("div"); box.className = "gridbox"; var h=''+i+''+j+''; var f'+h+'='hallo'+h; box.setAttribute("data-idx", i + "_" + j; box.addEventListener("click", function() { alert("hallo " + this.getAttribute("data-idx")); }); box.id ='hh'+h+''; row.appendChild(box); }
-
-
das probiere ich gleich erstmal alles aus vielen dank..
noch nee frage mann kann beim erstelen eines divs ja zb
Codebox.id ="bla" box.ClasName="bla" box.innerHTML="blabla" und viele mehr. gibt es auch 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")
-
Wie hast Du denn versucht, es anzusprechen? Mit document.getElementsByName() sollte es funktionieren:
-
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
-
Versuche folgendes: Positioniere das div absolut (position:relative für body und position:absolute für das div) und und erzeuge es ganz am Anfang des body.
-
-
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
GM_addStyle('#hintergrund{position:absolute;width:100vw;height:100vw;background:yellow;}'); GM_addStyle('body{position:relative;}'); var hinter = document.createElement("div"); hinter.id = 'hinter'; document.getElementsByTagName('body')[0].appendChild(hinter); 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..
-
Das einfachste ist wahrscheinlich, wenn Du diesem div einen negativen z-index gibst, das sollte ihn in den Hintergrund befördern.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!