Ich habe ein Skript, wo ich Werte für style.left zuweisen müssen, aber alle borwsers konvertieren Ganzzahlen in Exponentialschreibweise, wenn besser als 1e + 06 für Webkit-Browser und besser als 1e + 07 für andere. Jede exponentielle Notation wird nicht in einem Stilattribut dargestellt (wie für links, rechts, translate, etc ...).Javascript - Exonotial Notation in Stil zu verhindern
Zum Beispiel, wenn ich zu einem div zuweisen diese Art manuell:
div.style.left = 1000000+'px';
// or
div.style.left = '1000000px';
Beide Rückkehr im Browser (Google Chrome zum Beispiel)
<div style="left: 1e+06px;"></div>
Und diese Notation nicht funktioniert zu machen eine Stileigenschaft Es ist ziemlich seltsam, dass alle Browser eine Ganzzahl, die höher als 1 000 000 (oder 10 000 000) ist, in Exponentialschreibweise in ein Stilattribut umwandeln, das keine Exponentialschreibweise unterstützt ... Ich habe versucht, .toPrecision() .toFixed() zu verwenden. etc ... aber alle Browser behandeln css-Wert, nachdem der Wert zugewiesen wurde.
Gibt es eine Möglichkeit, dieses Verhalten zu verhindern?
Warum sind Sie so eine große Zahl mit? Es gibt keine Displays mit einer Million Pixel. – Barmar
Auf UHD-Bildschirm und mit einem Karussell kann 1000000px leicht erreicht werden (100-200 Objektträger). Oder das gleiche mit kleinen Zahlen .... – freaky