Javascript使搜索时出现对象

时间:2014-04-25 01:23:29

标签: javascript html image

我正在建立一个有校园地图的网站,其想法是用户点击某个特定建筑物,将他们带到一个新页面,然后提示他们进入房间。代码。我已经掌控了,但我不知道该怎么做就是在地图上的房间位置出现一个小标记(记住每栋建筑都有多个房间)。整个网页需要动态改变其大小(即地图本身是一个可变大小的图像),所以我不能简单地将标记放在图像的顶部。我怎样才能进入房间代码(例如他们输入' 101')并在该房间的位置出现一个标记(例如图像)(见下图)。

enter image description here

修改

我目前正在使用以下来源。如您所见,我使用提示框来获取房间代码,我想要的是获取特定图像并将其放置在指定位置。

    <script language="Javascript">
        var roomCode = prompt("Please enter the room code", "Enter room code here");
        if(roomCode==='101')
        {
            /*Put image in particular location*/
        }
        else if(roomCode==='102')
        {
            /*Put image in particular locationr*/
        }
        else
        {
            alert("That room does not exist.  Please refresh the page and try again.");
        }
    </script>

1 个答案:

答案 0 :(得分:1)

首先,为每个房间添加一个与每个房间的房间代码相对应的ID,并命名您的房间代码表格以存储用户输入:

<img id="MarkerForRoom101" style="display:none">

<form id="EnterRoomCodeForm"><input type="text" name="roomcode"><button type="button" 
onclick="ShowRoomCodeImage()">Click</button></form>

对于每个房间,还有左边的像素数和顶部存储的像素数(称为房间坐标形式或其他,坐标存储为2个单独的值)。

然后,当用户在表单中输入房间代码(通过单击表单的按钮)时,使用javascript更改用户输入房间的显示:

function ShowRoomCodeImage() {
    var roomcode = document.forms.EnterRoomCodeForm.roomcode.value.trim();
    var leftcoordinate = document.forms[RoomCoordinateForm][roomcode + 'left'].value;
    var topcoordinate = document.forms[RoomCoordinateForm][roomcode + 'top'].value;
    document.getElementById('MarkerForRoom' + roomcode).style.marginLeft = 
    leftcoordinate + 'px';
    document.getElementById('MarkerForRoom' + roomcode).style.marginTop = 
    topcoordinate + 'px';
    document.getElementById('MarkerForRoom' + roomcode).style.display = 'block';
}