我有一个可以通过键盘箭头向各个方向移动的div。
我正在尝试这样做,以便当可移动的div“走”到页面并到达某个点时,会出现另一个带有文本的div。
如何制作,以便当角色到达页面上的某个点时,div对话显示?
if($('#'+character).position().top > -500) {
if(character == 'character1') {
$('#page2 .dialogue').fadeIn(4000);
}
}
答案 0 :(得分:0)
所以position()相对于包含元素,而offset()相对于文档。话虽如此,你问的是一个元素何时高于<高于的包含div。你可能无法看到它。尝试删除否定符号。
如果您提供jsfiddle,我们可以确认并提供更好的帮助。
答案 1 :(得分:0)
在CSS中,您可以设置element.style.top,但无法读取它。您需要使用element.offsetTop,它将为您提供div的位置。我假设字符是一个事先定义的变量,是div层的ID。
if(document.getElementById(character).offsetTop > 500) {
if(character == 'character1') {
$('#page2 .dialogue').fadeIn(4000);
}
}
应该做的伎俩。偶尔称它为继续检查。 或者甚至更好,不要为此烦恼。将角色的位置保持在一个变量中,然后以这种方式设置它们的位置,当你需要读取角色的坐标时,只需读取变量即可。这就是我如何接近它。