繁体   English   中英

JavaScript“ this”不适用于HTML元素

[英]JavaScript “this” not working for HTML element

我想用img元素在div中显示信息,我正在通过php访问数据库。 我将onmouseover event与每个元素相关联,并将this参数和一些参数作为参数传递,但是当我将鼠标悬停在图像上时,div显示在浏览器的左上方,而不显示在图像旁边。

我也尝试过删除this ,结果是相同的旧的。

图像元素代码

         $row = mysqli_fetch_array($result);

          $firstname = $row['firstname'];

          $lastname = $row['lastname'];

          $image =    $row['image'];

          $phone =    $row['phone'];

          $email =    $row['email'];

     $realtorData = $firstname.'|'.$lastname.'|'.$phone.'|'.$email.'|';
echo "<img src='/../../Realtors/$image'onmouseover='showRealtorInfo(this,\"".$realtorData."\" );' onmouseout='hideRealtorInfo();'>";

javaScript代码

  function showRealtorInfo(element, realtorInfo)
{
    var realtorArray = realtorInfo.split('|');

    var firstname = realtorArray[0];
    var lastname  = realtorArray[1];
    var phone     = realtorArray[2];
    var email     = realtorArray[3];

    var realtorInfoDiv = document.getElementById('realtorinfo');

    var myHTML  = "<p><b>" + firstname + " " + lastname + "</b><br /><br />";
        myHTML += "Phone: " + phone + "<br />";
        myHTML += "Email: " + email + "<br />";

    realtorInfoDiv.innerHTML = myHTML;

    x = element.offsetLeft;
    y = element.offsetTop;

    //alert(x);

    realtorInfoDiv.style.left = y + 100;
    realtorInfoDiv.style.top = x + 550;



    realtorInfoDiv.style.visibility = 'visible';


}

div元素的CSS代码

#realtorinfo{

position: absolute;
left: 10px;
top: 10px;
width: 200px;
height: 150px;
padding: 5px;
background-color: yellow;
visibility: hidden;
float: left;

} 

您未在以下LOC中提及“ px”。

realtorInfoDiv.style.left = y + 100;
realtorInfoDiv.style.top = x + 550;

这应该工作:

realtorInfoDiv.style.left = y + 100 + "px";
realtorInfoDiv.style.top = x + 550 + "px";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM