首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >onmouseover -mouseout图像

onmouseover -mouseout图像
EN

Stack Overflow用户
提问于 2020-11-30 03:06:34
回答 4查看 361关注 0票数 3

我怎么能有两张照片,一张是在我是onmouseover的时候展示的,另一张是我在玩的时候藏起来的?

代码语言:javascript
复制
<td id="img" onmouseover="showIt(this.src)" onmouseout="hideIt()" src="image1.jpg " src="default.jpg">my box" </td>
    
    
    function showIt(imgsrc)
    {
    document.getElementById('img').src=imgsrc;
    }
    
    function hideIt()
    {
    document.getElementById('img').src="default.png";
    }
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2020-11-30 03:38:55

您也可以使用CSS来实现这一点。注意,在DOM操作方面,CSS总是比JS快。

同样,如注释所示,您必须使用img标记来代替

CSS方法

代码语言:javascript
复制
.hover-toggle {
  content: url('https://reputationtoday.in/wp-content/uploads/2019/11/110-1102775_download-empty-profile-hd-png-download.jpg');
  width: 100px;
  height: 100px;
  border: 1px solid gray;
}

.hover-toggle:hover {
  content: url('https://img.favpng.com/0/8/3/user-profile-computer-icons-internet-bot-png-favpng-92SBLLR7CwZpN8Vm6MUsuU4Sd.jpg')
}
代码语言:javascript
复制
<img class='hover-toggle'>

正如@StackSlave正确评论的那样,“悬停”将在移动设备上产生问题。

:hover是手机上的一个问题。我会使用Element.onmouseenterElement.ontouchstartElement.onmouseleaveElement.ontouchend代替。

JS方法

代码语言:javascript
复制
function registerEvents() {
  const img = document.getElementById('img');
  img.addEventListener('mouseenter', showIt)
  img.addEventListener('mouseleave', hideIt)
}

function showIt() {
  this.src = 'https://img.favpng.com/0/8/3/user-profile-computer-icons-internet-bot-png-favpng-92SBLLR7CwZpN8Vm6MUsuU4Sd.jpg';
}

function hideIt() {
  this.src = 'https://reputationtoday.in/wp-content/uploads/2019/11/110-1102775_download-empty-profile-hd-png-download.jpg';
}

function initialize() {
  const img = document.getElementById('img');
  // set default state
  hideIt.call(img)
  
  // Register events
  registerEvents()
}

initialize()
代码语言:javascript
复制
#img {
  width: 100px;
  height: 100px;
  border: 1px solid gray;
}
代码语言:javascript
复制
<img id='img'>

参考资料:

票数 1
EN

Stack Overflow用户

发布于 2020-11-30 03:24:42

使用<img>标记而不是<td>

代码语言:javascript
复制
 <img src="ss" onmouseover="add(event)" onmouseout="remove(event)">

Java脚本

代码语言:javascript
复制
function add(e){
          e.target.setAttribute("src", "https://shiharadil.netlify.app/static/media/me.9688d9df.jpg");
}
      
      function remove(e){
          e.target.setAttribute("src", "ss");
}
票数 0
EN

Stack Overflow用户

发布于 2020-11-30 03:37:36

也许你想像这样追踪原始的src。

代码语言:javascript
复制
<img id="myimg" src="https://images.freeimages.com/images/small-previews/867/volcanic-mt-ngauruhoe-1378772.jpg" onmouseover="mouseover()" onmouseout="mouseout()" />
代码语言:javascript
复制
function mouseover() {
  const elm = event.target;
  elm.setAttribute("orig_src", elm.src);
  elm.src = "https://images.freeimages.com/images/small-previews/647/snowy-mountain-1378865.jpg";
}

function mouseout() {
  const elm = event.target;
  elm.src = elm.getAttribute("orig_src");
}

https://jsfiddle.net/71zfw8s4/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65067625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档