【问题标题】:mouseover image popup image at another location鼠标悬停图像弹出图像在另一个位置
【发布时间】:2013-05-10 11:37:26
【问题描述】:

我有一列按钮,它们必须与第一个按钮做同样的事情,但有自己的个人图片。如何设置 id 以免出现故障?这是我目前所拥有的http://ultimatefinishdetailing.com/Services.html

HTML:(在图片按钮上发布 HTML BEFORE)

<STYLE MEDIA="screen" TYPE="text/css">
.pop-up {
    height: 100px;
    width: 100px;
    margin-right: -100px;
    margin-top: -100px;
    position:absolute;
right:-50px;
top:75px;
}
.button {
      width:300px;
      height:21px;
      display:block; background-image:url(images/button_ufad4.jpg);
      position:absolute;
}
</style>
<a href="" class="button" onmouseover="javascript:ShowImage('images/InteriorandExteriorDetailing.jpg')" onmouseout="javascript:HideImage()"></a>

<div id="popup" class="pop-up">
   <img id="popupImage" alt="Popup image" /> 
</div>

Javascript:

 <script type="text/javascript">
    function ShowImage(src)
    {
        var img = document.getElementById('popupImage');
        var div = document.getElementById('popup');
        img.src = src;
        div.style.display = "block";
    }
    function HideImage()
    {
        document.getElementById('popup').style.display = "none";
    }
</script>

【问题讨论】:

    标签: javascript html popup mouseover onmouseover


    【解决方案1】:

    来试试这个……

    CSS

    <style>
      .pop-up {
         height: 200px;
         width: 100px;
         margin-right: 100px;
         margin-top: 10px;
         float: right;
     display:none;
      }
    
     .button {
          /*change the width and height to match button.jpg's*/
          width:50px;
          height:50px;
          display:block;
      background-image:url(image/button.jpg);
      }
    </style>
    

    HTML

    <a href="" class="button" onmouseover="javascript:ShowImage('images/eco.jpg')" onmouseout="javascript:HideImage()"></a>
    
    <div id="popup" class="pop-up">
       <img id="popupImage" alt="Popup image" /> 
    </div> 
    

    JavaScript

    <script type="text/javascript">
        function ShowImage(src)
        {
            var img = document.getElementById('popupImage');
            var div = document.getElementById('popup');
            img.src = src;
            div.style.display = "block";
        }
        function HideImage()
        {
            document.getElementById('popup').style.display = "none";
        }
    </script>
    

    希望这会有所帮助。

    【讨论】:

    • 我在弹出的 css 代码下添加了那个按钮代码,但它没有做任何事情......我应该在哪里添加按钮代码,以便鼠标悬停是按钮而不是文本?
    • 我正在尝试添加您所说的 css 按钮代码...不起作用
    • 需要添加到a标签中
    • 我将它添加到 syle 标记中,但它没有做任何事情,只是让一切都无法正常工作......你能给我举个例子吗?这是我需要弄清楚的最后一件事!我很接近
    • 像你说的那样将它添加到标签中。它摆脱了所有其他按钮上的鼠标悬停...但它不会将鼠标悬停在整个按钮上,并且更改参数除了显示文本之外没有任何作用...我应该将它包装在样式标签中吗?
    【解决方案2】:

    Nishant 对 mouseout 是正确的,您只是缺少第一个单引号。

    你可能想要这样的风格

    <style media="screen" type="text/css">
    .pop-up {
        height: 200px;
        width: 100px;
        margin-right: 100px;
        margin-top: -10px;
        position:absolute;
    right:50px;
    top:50px;
    }
    </style>
    

    位置:绝对;会告诉浏览器把它放在你想要的地方。在这个例子中,我告诉它距离顶部 50px 和右侧 50px 的位置。您也可以使用关键字“bottom”和“left”。

    【讨论】:

    • 太棒了。我会把这个放进去!!
    • 我做到了,而且风格有效!现在我应该在第一个引号中添加什么...我实际上不知道
    【解决方案3】:

    要修复弹出图像出现的位置,您需要为#popupImage 编写样式并将其放置在您希望它出现的任何位置。

    对于“onmouseout”不起作用的问题...首先,您的 HTML 缺少单引号和关闭打开的锚标记...应该是...

    <a href="" onmouseover="ShowImage('images/eco.jpg')" onmouseout="HideImage('images/button_ufad4.jpg')"></a>
    

    注意缺少的第一个单引号。

    其次,在您的函数中,您没有以任何方式使用图像“images/button_ufad4.jpg”,因此只需在图像名称的开头添加额外的引号即可解决 onmouseout 问题

    【讨论】:

    • 我不知道如何写一个“风格”,但我相信你对 Html 引用丢失的看法。我明白你在那里说什么。我现在就解决这个问题!
    • 样式可以参考@Developer Gee 回复。您只需复制他提供的样式“代码”并将其粘贴/覆盖到您自己的 .pop-up 代码上
    • 我添加了单引号,现在我的弹出窗口消失了! thx...现在讨论其他问题
    • 感谢您的帮助。你是对的。现在我只需要弄清楚我的最后一个问题。我似乎无法将鼠标悬停在那个顶部按钮上...它在所有按钮上
    • 你说得对,好主意。谢谢。我想给你代表点数,但我也会从另一个帮助我的人那里拿走它。保重
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多