I rebuilt your beautiful clock in DML, just to see how compact code would be. Here is the complete website:
<!DOCTYPE html> <html lang="de"> <head> <meta charset="utf-8"> <title>title</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://efpage.de/DML/DML_homepage/lib/DML-min.js"></script> <style> </style> </head> <body> <script> "use strict"; const cx = 100, cy = 100; // Radius const _clockstyle = "width: " + (2 * cx) + "px; height: " + (2 * cy) + "px;" + "border: 7px solid #282828; background: #585858;" + "border-radius: 50%; margin: 50px;" + "box-shadow: -4px -4px 10px rgba(67,67,67,0.5), inset 4px 4px 10px rgba(0,0,0,0.5)," + "inset -4px -4px 10px rgba(67,67,67,0.5), 4px 4px 10px rgba(0,0,0,0.3);" sidiv("", _clockstyle) let c = canvas2D({ width: px(2 * cx), height: px(2 * cy) }) c.ctx.lineCap = "round" unselectBase() // Paint anything radial function tick(color, width, angle, length, innerlength = 0) { function ls(length) { return length * Math.sin(angle / 180.0 * Math.PI) } function lc(length) { return -length * Math.cos(angle / 180.0 * Math.PI) } c.setLineType(width, color) c.line(cx + ls(innerlength), cy + lc(innerlength), cx + ls(length), cy + lc(length)) } // Draw clock function drawClock() { c.clear() // Draw ticks for (let i = 0; i < 360; i += 30) if ((i % 90) == 0) tick("#1df52f", 5, i, 88, 70) else tick("#bdbdcb", 3, i, 88, 75) // draw hands let t = new Date(); // get time tick("#61afff", 5, t.getHours() * 30, 50) // hour tick("#71afff", 2, t.getMinutes() * 6, 70) // min tick("#ee791a", 2, t.getSeconds() * 6, 80) // s // drwa center c.setFillStyle("#4d4b63") c.circle(cx, cy, 10, { fill: true }) } drawClock() setInterval(drawClock, 1000) </script> </body> </html>
That´s all. For practical use it would be better to put the code into a separate class for convenience, which is pretty simple in DML.
Post edit: here it is: a working clock class, can be used as Webcomponent too...
Some comments have been hidden by the post's author - find out more
Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink.
Hide child comments as well
Confirm
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I rebuilt your beautiful clock in DML, just to see how compact code would be. Here is the complete website:
That´s all. For practical use it would be better to put the code into a separate class for convenience, which is pretty simple in DML.
Post edit: here it is: a working clock class, can be used as Webcomponent too...