我的總體目標是創建一個基於圖像的測試。但我陷入了一個早期階段。這個想法是一個圖像出現,用戶必須點擊一個按鈕來選擇正確的答案。他們點擊哪個按鈕,圖像被另一個圖像隨機替換。我遇到的問題是,當圖像被新圖像隨機替換時,按鈕(與新圖像相同的div)不起作用。所以用戶只能使用第一個div中的按鈕,然後當這個div被替換時,他們不能通過新的隨機div。我是新來的論壇..但我會非常感激,如果有人可以幫助我。Javascript - 用另一個隨機div替換div(按鈕不在新div中工作)
這是我的html。
<div id = 'suitcase'>
<img src ='https://upload.wikimedia.org/wikipedia/commons/c/ce/Suitcase_750x500.jpg' width = '400'/>
<ul> <button id = 'correct1'> suitcase </button> <button class = 'incorrect1'> backpack </button> <button class = 'incorrect1'> handbag </button> </ul>
</div>;
<div id = 'printer'>
<img src = 'http://cdn2.pcadvisor.co.uk/cmsdata/reviews/3598061/HP_Envy_5640_e-All-in-One.jpg' width = '400'/>
<ul> <button id = 'correct2'> printer </button> <button class = 'incorrect2'> photocopier </button> <button class = 'incorrect2'> computer </button> </ul>
</div>;
<div id = 'desk'>
<img src = 'https://www.directofficesupply.co.uk/components/com_virtuemart/shop_image/product/H4P3.jpg' width = '400'/>
<ul> <button class = 'incorrect3'> printer </button> <button class = 'correct3'> desk </button> <button class = 'incorrect3'> computer </button> </ul>
</div>
這是我的Javascript和JQuery
$(window).load(function() {
$("#printer").hide();
});
$(window).load(function() {
$("#desk").hide();
});
var image1 = document.getElementById("desk").innerHTML;
var image2 = document.getElementById("suitcase").innerHTML;
var image3 = document.getElementById("printer").innerHTML;
var imageList = [image1, image2, image3]
function getRandomImage() {
var random = imageList[Math.floor(Math.random() * imageList.length)];
return random;
}
var randomImage = getRandomImage();
$("#correct1").click(function() {
$(this).css({
"background": "blue"
});
setTimeout(function() {
$("#suitcase").html(randomImage);
}, 500);
$("#correct2").click(function() {
$(this).css({
"background": "blue"
});
setTimeout(function() {
$("#printer").html(randomImage);
}, 500);
});
$("#correct3").click(function() {
$(this).css({
"background": "blue"
});
setTimeout(function() {
$("#desk").html(randomImage);
}, 500);
});
});
$(".incorrect1").click(function() {
$(this).css({
"background": "red"
});
setTimeout(function() {
$("#suitcase").html(randomImage);
}, 500);
});
$("#correct2").click(function() {
$(this).css({
"background": "blue"
});
setTimeout(function() {
$("#printer").html(randomImage);
}, 500);
});
$(".incorrect2").click(function() {
$(this).css({
"background": "red"
});
setTimeout(function() {
$("#printer").html(randomImage);
}, 500);
});
$("#correct3").click(function() {
$(this).css({
"background": "blue"
});
setTimeout(function() {
$("#desk").html(randomImage);
}, 500);
});
$(".incorrect3").click(function() {
$(this).css({
"background": "red"
});
setTimeout(function() {
$("#desk").html(randomImage);
}, 500);
});
我在做什麼錯?? !!
此代碼需要縮進 – Jonathan
有多個按鈕,而不是重複使用相同的所有DIV的點?此外,人們可以通過僅查看按鈕名稱來查看代碼來作弊。 – Chepech