jQuery如果div在x位置,则显示另一个div

时间:2014-05-02 22:55:28

标签: javascript jquery if-statement

我有一个可以通过键盘箭头向各个方向移动的div。

我正在尝试这样做,以便当可移动的div“走”到页面并到达某个点时,会出现另一个带有文本的div。

如何制作,以便当角色到达页面上的某个点时,div对话显示?

if($('#'+character).position().top > -500) {

    if(character == 'character1') {
       $('#page2 .dialogue').fadeIn(4000);

    }
}

2 个答案:

答案 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);

    }
}

应该做的伎俩。偶尔称它为继续检查。 或者甚至更好,不要为此烦恼。将角色的位置保持在一个变量中,然后以这种方式设置它们的位置,当你需要读取角色的坐标时,只需读取变量即可。这就是我如何接近它。