Javascript - 使用 foreach 并在鼠标悬停时更改图像

标签 javascript jquery html asp.net asp.net-mvc

我正在使用 mvc 开发一个项目,并且有一个 javascript 可以在鼠标悬停时更改图像。

我的问题如下:

脚本正在工作,但仅更改第一个 li 元素的图像,然后当我执行 mouseout 时 它向我显示了第一个 li 位置上最后一个 li 元素的图像。

我不明白发生了什么。

有人可以帮我解决这个问题吗?

这是我的代码:

 <ul>
        @foreach (var p in ViewBag.MyIcon)
          {                               
              <li>

                  <script  type='text/javascript'>
                      function onHover() {
                          $("#iconInteraction").attr('src', '/Content/iconhover.png');
                      }

                      function offHover() {
                          $("#iconInteraction").attr('src', '@p.Icon');
                              }
                    </script>   

                  <form action="" method="post">

                       <button type="submit" name="submit" id="Interface_Button">
               <img src="@p.Icon" onmouseover="onHover();" onmouseout="offHover();" id="iconInteraction"/>
               </button>                     
                  </form>
              </li>
          } 
    </ul>

最佳答案

您使用的 ID 导致了问题

                  function onHover() {
                      $(".iconInteraction").attr('src', '/Content/iconhover.png');
                  }

                  function offHover() {
                      $(".iconInteraction").attr('src', '@p.Icon');
                          }

更新: 但这不是答案,上面的代码只会使所有 iconInteraction 发生变化。

使用这段代码(将其放在页面的头部。

$('.iconInteraction').hover(function(){
           $(this).attr('src', '/Content/iconhover.png');
} , function(){
           $(this).attr('src', '@p.Icon');
});

关于Javascript - 使用 foreach 并在鼠标悬停时更改图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19249018/

相关文章:

javascript - ASP.NET MVC - jQuery POST 方法为 null

html - 浏览器是否将计算出的 div 坐标存储在可访问变量中?

javascript - 返回元素类型

javascript - AngularJS Bootstrap 模态丢失范围

javascript - 为什么我生成的图像没有根据我的鼠标光标设置它们的位置?

javascript - HTML/CSS 文本对齐和 div 错误

jquery - 尝试使用 CSS 和 jQuery 将屏幕面板分开

Javascript- Unexpected ) 在 for 循环中

javascript - 给定页面标题列表,在 MediaWiki 页面中自动添加 wiki 链接

html - 在 IE8 上具有列跨越的固定大小表