简单的三种实现鼠标经过切换图片的方法

本次用到的两张图片,一张是正常显示的图片,另一张是替换图片。

简单的三种实现鼠标经过切换图片的方法1.jpg 简单的三种实现鼠标经过切换图片的方法1.png
第一种:主要用了onMouseOver和onMouseOut事件
html代码:
<img alt="" src="images/1.jpg" onMouseOver="this.src='images/1.png'" onMouseOut="this.src='images/1.jpg'">
css代码:
 img:hover{ cursor: pointer; }
 
1)、alt表示图片不能正常显示时的替换内容,里面可以加上文字,一般不写这个属性的话会有警告错误,所以我一般是会加上的。
2)、src="url()"表示图片的地址,此处的意思是images文件夹下的名字为1的jpg图片。
3)、onMouseOver 属性是鼠标指针移动到元素上时触发的。
4)、onMouseOut属性是鼠标指针移出元素是触发的。
此处的意思是 在鼠标移入时显示1.png,移出时显示1.jpg。
5)、img:hover 是鼠标经过img标签时显示的内容。
6)、cursor:pointer 表示鼠标经过是指针显示为小手形状。
注:这里是两张图片完全替换,鼠标移入时图片1.jpg完全不会显示。
 
 
第二种:用了鼠标经过时background背景图片的改变
html代码:
<a href=""></a>
 
css代码:
a{
display:block;
width: 338px;
height: 301px;
background: url(../images/1.jpg);
}
a:hover{
background: url(../images/1.png);
 
这里我用了a链接,为了方便点击。其实也可以用其他的标签。
首先把a标签转换为块级标签,定义它的宽度高度。设置原来的背景图片。
鼠标经过时改变a标签的背景图片就可以达到目的。
 
 
第三种:利用了 opacity透明属性
html代码:
 <div>
   <img alt="" src="images/1.jpg" />

  <span><img alt="" src="images/1.png" /></span>
</div>

css代码:
div{
width: 338px;
height: 301px;
position: relative;
}
span{
display: block;
position: absolute;
top: 0;
left: 0;
opacity: 0;
}
span:hover{
opacity: 1;
cursor: pointer;
}
 
先是用了position定位,把替换的图片定位在div中和原来img图片重合的地方,然后把替换的图片设置成透明,到鼠标经过的时候把透明度改为1,来实现替换效果,这里的好处是替换的图片用png格式的话就是遮罩,并不是完全替换。
  • 10
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个非常常见的交互效果,我可以为您提供一个简单实现方法。 HTML代码: ```html <div class="gallery"> <img src="image1.jpg" alt="Image 1"> <img src="image2.jpg" alt="Image 2"> <img src="image3.jpg" alt="Image 3"> <img src="image4.jpg" alt="Image 4"> </div> ``` CSS代码: ```css .gallery { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; height: 400px; width: 800px; } img { scroll-snap-align: center; height: 400px; width: 800px; } ``` JavaScript代码: ```javascript const gallery = document.querySelector('.gallery'); let isScrolling = false; gallery.addEventListener('wheel', (event) => { event.preventDefault(); if (isScrolling) return; isScrolling = true; setTimeout(() => { isScrolling = false; }, 1000); const delta = event.deltaY; const scrollLeft = gallery.scrollLeft; gallery.scrollTo({ left: scrollLeft + delta, behavior: 'smooth' }); }); ``` 解释一下代码: - 我们首先定义了一个包含多个图片的 `div` 元素,并设置其为可滚动的。 - 然后我们定义了一个 `wheel` 事件监听器,当用户滚动滚轮时就会触发此事件。 - 我们在事件处理程序中首先阻止默认滚动行为,然后检查是否已经在滚动中,如果是,则不执行任何操作。 - 如果不是,则将 `isScrolling` 标志设置为 `true`,并在1秒钟后将其设置为 `false`。 - 接下来,我们获取鼠标滚动的方向和当前已滚动的距离,并使用 `scrollTo` 方法将滚动位置设置为当前位置加上滚动量。 这样,当用户滚动滚轮时,页面上的图片就会根据滚动方向进行相应的切换。当然,您可以根据实际需求对代码进行修改和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值