Xcodeを使用して、htmlでMac用スクリーンセーバーを作っています。
背景は画像で表示して、真ん中に時計を表示するというものにしています。
そこで、複数の背景用画像を準備し、スクリーンセーバーを表示した時、毎回ランダムに背景画像が選ばれて表示されるというようにしたいです。
こちらのサイトを参考に書いてみましたが、背景が真っ白になります。どうすれば画像が読み込めるでしょうか。よろしくお願いします。
html
1<!DOCTYPE html> 2<html> 3 4<head> 5 <meta charset="UTF-8"> 6 <title>Clock</title> 7 <link rel="stylesheet" href="./style.css"> 8 <script src="./clock.js"></script> 9 <script src="./background.js"></script> 10 <link href="https://fonts.googleapis.com/css2?family=Lato:wght@700&display=swap" rel="stylesheet"> 11</head> 12 13<body id="background"> 14 <div id="clock_frame"> 15 <span id="clock_time"></span> 16 </div> 17</body> 18 19</html> 20
css
1body#background 2{ 3 color: white; 4 background-size :cover; 5 background-repeat: no-repeat; 6 background-image:url(); 7} 8 9div#clock_frame 10{ 11 position: absolute; 12 top: 50%; 13 left: 50%; 14 transform: translateY(-50%) translateX(-50%); 15 padding: 20px; 16} 17 18span 19{ 20 display: block; 21 float: right; 22 width: 100%; 23 font-family: 'Lato', sans-serif; 24} 25 26span 27{ 28 font-size: 1em; 29}
javascript
1window.onload = function() { 2 //var url = "a.jpg".split(','); 3 var url=[]; 4 url[0] = '21.jpg'; 5 url[1] = '30.jpg'; 6 url[2] = '41.jpg'; 7 url[3] = '51.jpg'; 8 var n = Math.floor(Math.random()*url.length); 9 var elm = document.getElementById("background"); 10 elm.style.vackgroundImage = 'url(/image/' + url[n] + ')'; 11}
もう一つ時計を書いたjavascriptがあります、必要でしたら貼ります。
ブラウザ(safari)でhtmlを開いてソースを見てみるとimageフォルダから読み込めていませんでした。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/31 06:34