javascript - 如何在javascript中的点击位置显示工具提示(内容存储在数组中)?

标签 javascript html

我有一个带有 id、lines 的 div。它包含一个草图(以编程方式) map 。我跟踪鼠标单击坐标,以便可以在单击位置显示工具提示。我需要在工具提示中包含signo[i]和status[i]的内容。你能告诉我如何在 JavaScript 中做到这一点吗?

代码:

        <div id="lines" onclick="showCoords(event)">

        <script>
 b = xmlDoc.getElementsByTagName("TRACK");


 jQuery.ajax({
               type: "POST",
               url: "WebForm1.aspx/GetStations", //It calls our web method  
               contentType: "application/json; charset=utf-8",
               data: JSON.stringify({ myArray1: dl_id_track, myArray2: dl_id_gate, myArray3: dl_id_point}),
               dataType: "json",
               async: true,
               success: function (data) {

                if (data != null) {
                     var len = data.d.length;                                                 
                       for (var i = 0; i < len; i++) {
                           signo[i] = data.d[i].signo;
                           status[i] = data.d[i].status;
                           }

         function showCoords(event) {
                   var xcoord = event.clientX;
                   var ycoord = event.clientY;
                   var coords = "X coords: " + xcoord + ", Y coords: " + ycoord;
                   document.getElementById("demo1").innerHTML = coords;
                   for (var i = 0; i < b.length; i++) {
                       var x1 = parseInt(left_track[i]) + parseInt(x1_track[i]);
                       var y1 = parseInt(top_track[i]) + parseInt(y1_track[i]);
                       var x2 = parseInt(left_track[i]) + parseInt(x2_track[i]);
                       var y2 = parseInt(top_track[i]) + parseInt(y2_track[i]);
                                         var slope = (y2 - y1) / (x2 - x1);
                       var line = (slope * xcoord) - ycoord - x1 + y1;
                       if (line == 0) {
                                                asset = "track";
                       }
                   }

               }

    </script>

最佳答案

使用标题属性

此处以下内容将显示为工具提示

function showCoords(event) {
               var xcoord = event.clientX;
               var ycoord = event.clientY;
               var coords = "X coords: " + xcoord + ", Y coords: " + ycoord;
               document.getElementById("demo1").innerHTML = coords;
               for (var i = 0; i < b.length; i++) {
                   var x1 = parseInt(left_track[i]) + parseInt(x1_track[i]);
                   var y1 = parseInt(top_track[i]) + parseInt(y1_track[i]);
                   var x2 = parseInt(left_track[i]) + parseInt(x2_track[i]);
                   var y2 = parseInt(top_track[i]) + parseInt(y2_track[i]);
                                     var slope = (y2 - y1) / (x2 - x1);
                   var line = (slope * xcoord) - ycoord - x1 + y1;
                   if (line == 0) {
                                            asset = "track";
                   }
               }
           document.getElementById("lines").title =coords;
           }

用它来定位工具提示

HTML-Tooltip position relative to mouse pointer

关于javascript - 如何在javascript中的点击位置显示工具提示(内容存储在数组中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43633845/

相关文章:

javascript - 使用 WebSocket 的 React Native 不起作用

javascript - 你如何发送控制台消息和错误来提醒?

html - 使响应式网格列具有相同的高度

javascript - 有没有办法在新窗口中打开页面上的所有 <a href> 链接?

javascript - DOM 类名称不适用于按钮

javascript - 如何检查字体是否有符号

javascript - 使用 redux-form 错误呈现时创建可关闭的 Bootstrap v3 警报

javascript - 如何根据用户选择设置要显示的表单数量?

php - 我如何访问父文件夹php中的文件夹或文件

javascript - 隐藏标题时将浏览器最大宽度(媒体查询)添加到javascript?