鼠标悬停不显示图像

On Mouse Over Not Showing Image

以下代码只执行颜色变化。我从来没有看到图像。

我在 Visual Studio 2017

中用 C# ASP.Net 编写此代码

基本上尝试了此代码的变体。

 <asp:LinkButton ID="LinkButton1" Font-Underline="true" runat="server" 
 OnMouseOver="mouseOver();" OnMouseOut="mouseOut();">Facility 
 ID</asp:LinkButton> 
 <img src="../Images/invoice.PNG" id="image1" alt="Image Not Found" 
 width="1000" height="500" style="display:none;" runat="server" /> 


 <script src="https://code.jquery.com/jquery-2.2.3.min.js"></script>

 <script>
 document.getElementById("LinkButton1").onmouseover = function() 
 {mouseOver()};
 document.getElementById("LinkButton1").onmouseout = function() 
 {mouseOut()};

 function mouseOver() {
 document.getElementById("LinkButton1").style.color = "red";
 document.getElementById("LinkButton1").style.display="inline";
 document.getElementById("LinkButton1").src = '../Images/invoice.PNG';
 }

 function mouseOut() {
 document.getElementById("LinkButton1").style.color = "black";
 }
 </script>

我希望看到图像显示为标注或弹出窗口。文字变为红色,页面只显示javascript:__doPostBack('LinkButton1','')

我想我可能会看到你的问题。 在这条线上

document.getElementById("LinkButton1").src = '../Images/invoice.PNG';

您似乎在尝试更新按钮的 src 而不是图像。

尝试更新您的代码以像这样使用 img 标签的 ID

document.getElementById("image1").src = '../Images/invoice.PNG';

EDIT1 好的,我现在添加,所以当您将鼠标悬停在按钮上时,图像可用,当您将鼠标移开时,图像消失。我正在使用 css 可见性 property.We 将图像设置为隐藏,默认情况下使用 style 属性内嵌在元素上。当您将鼠标悬停在按钮上时,我们将可见 属性 设置为可见,当您将鼠标移开时,我们将其设置回隐藏。

这是执行此操作的代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <button id="button1">Button</button>
    <img id="image1" src="https://assets.pokemon.com/assets/cms2/img/pokedex/full/025.png" style="visibility: hidden;"></img>
</body>
<script>
    function mouseOver(){
        document.getElementById('button1').style.color = "green";
        document.getElementById('button1').style.display = "inline";
        document.getElementById('image1').style.visibility = "visible";
    }
    function mouseOut(){
        document.getElementById('button1').style.color = "red";
        document.getElementById('image1').style.visibility = "hidden";
    }
    document.getElementById('button1').onmouseover = mouseOver;
    document.getElementById('button1').onmouseout = mouseOut;
</script>
</html>

我还用新代码更新了 gitub 示例并将其放入文件标题 index2.html 中,您可以查看 here.

一个 LinkBut​​ton,它只是 html 中的一个锚点,没有 src 属性。它不是图像。使用背景图片。

document.getElementById("LinkButton1").style.backgroundImage = "url('image.png')";

或将其更改为 ImageButton 控件,即 <input type="image"

非常感谢大家。在您的建议和一些修补之间,我能够使代码按预期工作。

这是最终代码。当我将鼠标悬停在链接按钮上时,图像显示在按钮下方,当我鼠标移开时图像消失。

<asp:LinkButton ID="LinkButton1" Font-Underline="true" runat="server" 
OnMouseOver="mouseOver();" OnMouseOut="mouseOut();">Facility ID</asp:LinkButton>

function mouseOver() {

document.getElementById("image1").style.display = "inline";
document.getElementById("image1").style.backgroundimage = "input type=image";
}

function mouseOut()
{

document.getElementById("image1").style.display="none";
}
      <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
        <script type="text/javascript" src="http://cdn.rawgit.com/elevateweb/elevatezoom/master/jquery.elevateZoom-3.0.8.min.js"></script>
        <script type="text/javascript">
            $(function () {
                $("[id*=GrdEmplistAtt] img").elevateZoom({
                    cursor: 'pointer',
                    imageCrossfade: true,
                    loadingIcon: 'loading.gif'
                });
            });
        </script>

<asp:TemplateField HeaderText="View Files" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="300px"
                                                                                        HeaderStyle-HorizontalAlign="Center">
                                                                                        <ItemTemplate>

                                                                                            <asp:Label ID="lblGrdDocFileName" runat="server" Text='<%#Bind("DocFileName") %>' CssClass="form-label" Visible="false"></asp:Label>
                                                                                            <table cellspacing="0" style="width: 100%">
                                                                                                <tr>
                                                                                                    <td style="width: 25%">
                                                                                                        <asp:Image ID="Image1" runat="server" Height="30px" Width="30px" ImageAlign="Middle" Visible="false" />
                                                                                                    </td>
                                                                                                    <td style="width: 25%">
                                                                                                        <asp:Image ID="Image2" runat="server" Height="30px" Width="30px" Visible="false" ImageAlign="Middle" />
                                                                                                    </td>
                                                                                                    <td style="width: 25%">
                                                                                                        <asp:Image ID="Image3" runat="server" Height="30px" Width="30px" Visible="false" ImageAlign="Middle" />
                                                                                                    </td>
                                                                                                    <td style="width: 25%">
                                                                                                        <asp:Image ID="Image4" runat="server" Height="30px" Width="30px" Visible="false" ImageAlign="Middle" />
                                                                                                    </td>
                                                                                                </tr>
                                                                                            </table>
                                                                                        </ItemTemplate>
                                                                                        <HeaderStyle HorizontalAlign="Center"></HeaderStyle>
                                                                                        <ItemStyle HorizontalAlign="Center" Width="250"></ItemStyle>
                                                                                    </asp:TemplateField>

https://www.aspforums.net/Threads/541191/Display-GridView-image-in-Modal-Popup-on-MouseOver-using-jQuery-in-ASPNet/ 关注这个 link 也