私はJavascriptを習得しようとしていますが、ユーザーがギャラリー内の画像をクリックする(画像は卵巣になる)スクリプトを作成したいと思います。ページの中心に集中しています。私の目標は、スクリプトがページ上のすべての画像をループし、フォーカスされた画像のソースがクリック時にクリックされた画像のソースに変わるように各画像に機能を割り当てることでした。私は失敗しました。ギャラリーの画像を表示するにはJavaScriptを使用してクリックしてください
マイ関連するHTMLコードは次のとおりです。
<div class="gallery">
<img src= "otter1.png")/>
<img src= "otter2.png")/>
<img src= "otter3.png")/>
<img src= "otter4.png")/>
<img src= "otter5.png")/>
<img src= "otter6.png")/>
</div>
<div class="focus">
<img id="focus" src="otter1.png">
</div>
関連するCSSコード:
.gallery {
margin: 5px;
border: 1px solid #ccc;
float: left;
width: 180px;
}
.gallery img:hover {
border: 1px solid #777;
}
.gallery img {
width: 100%;
height: auto;
}
.focus {
position: fixed;
text-align: center;
vertical-align: center;
margin-left: 50px;
margin-top: 100px;
border: 4px solid white;
}
そして、最も重要なのjavascript:
window.onload = function() {
var imgs = document.getElementsByTagName('img');
for(var i = 0; i < imgs.length; i++) {
var img = imgs[i];
img.onclick = function() {
newSrc = img.getAttribute('src'); /* problem line ?*/
focus = document.getElementById('focus');
focus.src = 'newSrc';
}
}
}
(もし私の機能に間違っ起こっています問題は機能だけです)、どうすればそれを動作させることができますか?私は、コンソールで関数のアクティビティを記録しようとしましたが、正確に何が起こっているかについてはまだ混乱しています。
私は見てみました:How do you set a JavaScript onclick event to a class with cssとhttp://www.w3schools.com/js/tryit.asp?filename=tryjs_intro_lightbulbでしたが、いずれの方法も適切に適用できませんでした。
これが不明または長すぎる場合は、これが私の最初の投稿です。
)私は単純に引用符を削除しようとしたが、それはまだ働いてイマイチ。 focus.src = newSrcの代わりにfocus.src = 'otter2.png'と入力すると、ループは機能します(ただし、必要なことはしません)。コンソールログでは、ループ内の最後の画像を繰り返して、クリックした画像に基づいて固有のソースを適用するのではなく、画像をクリックするとそのソースが適用されます。 – ZLevine
@ZLevine my answerを見てください! –