【发布时间】:2018-10-02 22:44:54
【问题描述】:
我正在尝试使用 HTML、CSS 和 JavaScript 编写一个谜题。目前我的代码接受一个图像,然后将该图像设置为 div 元素的背景。 JavaScript 然后将 16 个子 div 元素附加到 html 文件中。我希望我的代码将每个图像片段从父元素移动到其各自的子元素。
我的 HTML 中有一个 div 元素:
<div id="image"></div>
JavaScript 代码附加了 16 个子 div 元素,每个元素都有一个唯一的 id:
$(document).ready(function(){
let $url;
$('#gameImage').keypress(function(e){
if(e.keyCode == 13){
$url = $('#gameImage').val();
console.log($url);
$('#gameImage').val('');
$('#image').css("background-image", `url(${$url})`);
for(let i=0;i<16;i++){
console.log(i);
$('#image').append('<div class="piece" id= "segment'+i+'"></div>')
}
}
});
})
我希望能够单击这些子元素并围绕拼图的各个部分进行争夺,但是该图像是父元素的背景图像。
我已经尝试遵循这篇帖子Cutting an Image into pieces through Javascript 中的一些建议,但是如果为每件作品设置背景位置,我将无法移动图像。使用画布提到的其他解决方案,但我无法使用画布制作可移动的 div 元素。
【问题讨论】:
-
@RokoC.Buljan 是的,这正是我想要做的。
-
由于您尝试做类似en.wikipedia.org/wiki/15_puzzle 的事情(只是,使用图像)stackoverflow.com/questions/8912917/… 建议的接受的 CSS 答案是最简单的。是什么阻碍了您的实施?
-
@RokoC.Buljan 在我的代码中,没有为每个部分指定分区。我这样做是因为我希望能够改变难度并创建一个包含更多碎片的谜题。
-
另外,你说的打乱是什么意思? 打乱片段的点击监听器在哪里?
-
@RokoC.Buljan 我在代码中还没有走那么远。在我添加混合片段之前,我需要将每个片段与图像的一部分相关联。
标签: javascript jquery html