你可以告诉我的代表我是一个超级新手,如果这对你来说很简单,我会道歉。
我有一个模型太阳能系统在HTML和CSS中旋转。我在那里拼凑了一些JS,让行星在hover上播放一些音乐和fadeOut()
但是,我想删除hover()并让行星根据它们的坐标做他们的事情;每个人在遇到某个坐标时都会弹奏一个音符。
我试过这个:
$(document).ready(function() {
var x = $("#mercury").offset;
if(x.top >= 1200.00 && x.left >=1000.00){
$("#mercury").fadeOut("slow");
};
但是,没有任何反应。
我确定这是我自己的无知问题,我可能写错了,但我需要帮助。
简而言之,我如何根据offset()坐标触发事件?
答案 0 :(得分:0)
要调用函数,您需要在函数名后面加上括号。所以你需要将.offset更改为.offset()。如果关闭大括号的条件丢失,你也有。因此,请尝试始终缩进代码,这样您将看到开始和结束括号。
试试这个。
$(document).ready(function() {
var x = $("#mercury").offset();
if(x.top >= 1200.00 && x.left >= 1000.00){
$("#mercury").fadeOut("slow");
}
};
答案 1 :(得分:0)
你有动画运行循环吗? (经常调用以更新界面的函数)。
您正在准备好'文档中执行代码。功能。此功能仅执行一次'当您的页面加载完毕后再也没有。
要实现您想要的效果,您需要不断执行代码,以便对每个动画帧进行检查(正如您的动画一样)。
如果您还没有运行循环来放入代码,您可以设置一个间隔,以便不断检查行星位置。
示例
$(document).ready(function(){
var myLoop = window.setInterval(function() {
var x = $("#mercury").offset();
if(x.top >= 1200.00 && x.left >= 1000.00){
$("#mercury").fadeOut("slow");
}
}, 200); // Execute the above every 200 milliseconds
});
如果你想要停止检查/循环,只需执行:
window.clearTimeout(myLoop);