【发布时间】:2018-05-30 12:37:46
【问题描述】:
我正在为孩子们制作一个园艺游戏。用户单击他们需要的园艺工具(例如铲子),然后单击田地的背景图像,这将带他们进入下一步/页面(例如犁过的田地的背景图像)。将光标更改为工具图像的 javascript 函数工作正常。但是,我注意到任何点击时背景图像都会发生变化,这不是我想要的。只有当光标具有正确的值(即铲子)时,它才应该改变。
为了解决这个问题,我认为最好使用 if/else 语句形式的第二个函数。
<script>
function myFunction() {
document.body.style.cursor = "url(img/Shovel.png), pointer";
}
function changePage() {
var cursor = document.body.style.cursor;
if (cursor === "url(img/Shovel.png)") {
window.location.href = "Potato1.html";
} else {
window.location.href = "Potato0.html";
}
}
它没有像我想象的那样工作,页面自动切换到下一个。我想知道我的逻辑是否有意义,所以我会很感激一些指导。
【问题讨论】:
-
很奇怪它会基于光标......
-
你到底为什么要这么做?为什么要根据光标改变页面位置??
-
您应该将选择的项目存储在某种变量中,并将 onlcick 事件添加到图像中。如果您检查 variable == "shovel" 或其他任何内容,并根据您是否继续进行
-
我建议只改变背景。如果需要,您可以让背景将行为与特定光标相关联。
-
我是这样看的:园艺工具种类繁多,孩子需要找到合适的。当他们点击铲子时,他们会收到一条验证消息,并且光标会变为该图像。他们点击他们想要播种的背景图像(土壤),这会改变页面。最初,我只是为背景图像设置了一个 onclick 事件,效果很好。然而,我意识到有人可能在没有选择工具的情况下点击背景图像。所以我的理由是我应该将页面的变化与光标绑定以避免这种情况。
标签: javascript if-statement onclick qtextcursor