下面是jQuery实现鼠标经过图片预览大图效果的完整攻略:
- 加载jQuery库文件
要使用jQuery来实现鼠标经过图片预览大图效果,必须首先加载jQuery库文件,可以通过以下CDN或本地文件的方式引入:
<!-- 通过CDN引入jQuery库文件 -->
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<!-- 本地引入jQuery库文件 -->
<script src="js/jquery.min.js"></script>
- 编写HTML结构
在HTML中,需要准备一个包含缩略图和大图的区域,并且在缩略图上绑定鼠标经过事件,例如:
<div class="thumbnails">
<img src="img/thumbnail1.jpg" data-bigsrc="img/big1.jpg" alt="Thumbnail 1">
<img src="img/thumbnail2.jpg" data-bigsrc="img/big2.jpg" alt="Thumbnail 2">
<img src="img/thumbnail3.jpg" data-bigsrc="img/big3.jpg" alt="Thumbnail 3">
</div>
<div class="big-image">
<img src="img/big1.jpg" alt="Big Image">
</div>
在这个例子中,.thumbnails
是缩略图的容器,每个缩略图设置了data-bigsrc
属性来指定对应的大图路径,.big-image
是大图的容器,初始状态下显示第一张缩略图对应的大图。
-
编写jQuery代码
接下来需要编写jQuery代码来实现鼠标经过图片预览大图效果,实现步骤如下: -
给缩略图绑定鼠标经过事件,当鼠标移动到缩略图上时,切换大图的显示内容为对应的大图。
- 当鼠标移出缩略图时,恢复大图显示为初始状态。
以下是示例代码:
$(function(){
// 绑定鼠标经过事件
$('.thumbnails img').on('mouseover', function(){
var bigSrc = $(this).data('bigsrc');
$('.big-image img').attr('src', bigSrc);
});
// 绑定鼠标移出事件
$('.thumbnails').on('mouseout', function(){
$('.big-image img').attr('src', $('.thumbnails img').eq(0).data('bigsrc'));
});
});
在这个例子中,首先使用$(function(){...})
来添加jQuery代码,保证页面加载完成后,执行注册的事件。
其次,使用$('.thumbnails img').on('mouseover', function(){...})
绑定鼠标经过事件,当鼠标移动到缩略图上时,执行后续代码。具体代码在缩略图所对应的大图路径data-bigsrc
中获取对应的大图路径,并设置到.big-image
容器中的img
元素中。
最后,使用$('.thumbnails').on('mouseout', function(){...})
绑定鼠标移出事件,当鼠标移开容器时,执行后续代码。后续代码中,获取第一张缩略图所对应的大图路径,设置到.big-image
容器中的img
元素中,恢复大图的显示状态。
- 示例说明
以下是两个示例,分别展示了使用CSS和jQuery来实现鼠标经过图片预览大图效果:
示例一:使用CSS实现
在这个示例中,使用CSS的:hover
伪类来实现鼠标经过缩略图时,将大图的背景图片替换为所对应的大图路径。代码如下:
<div class="thumbnails">
<a href="#"><div class="thumbnail" data-bigsrc="img/big1.jpg"></div></a>
<a href="#"><div class="thumbnail" data-bigsrc="img/big2.jpg"></div></a>
<a href="#"><div class="thumbnail" data-bigsrc="img/big3.jpg"></div></a>
</div>
<div class="big-image"></div>
/* 缩略图样式 */
.thumbnail {
width: 200px;
height: 150px;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
/* 显示鼠标手型 */
cursor: pointer;
}
/* 鼠标经过时,改变背景图片 */
.thumbnail:hover {
background-image: url(img/big1.jpg);
}
/* 鼠标经过对应缩略图时,将大图背景图片替换为对应大图路径 */
.thumbnail[data-bigsrc="img/big1.jpg"]:hover ~ .big-image {
background-image: url(img/big1.jpg);
}
.thumbnail[data-bigsrc="img/big2.jpg"]:hover ~ .big-image {
background-image: url(img/big2.jpg);
}
.thumbnail[data-bigsrc="img/big3.jpg"]:hover ~ .big-image {
background-image: url(img/big3.jpg);
}
/* 大图样式 */
.big-image {
height: 500px;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
在这个示例中,缩略图是由div
元素来实现的,并通过background-image
设置对应的图片路径。当鼠标经过缩略图时,使用:hover
伪类来设置background-image
为对应的大图路径。并且通过CSS选择器,将对应大图路径的.big-image
元素的background-image
属性也设置为对应大图的路径。
示例二:使用jQuery实现
在这个示例中,使用jQuery绑定鼠标经过和移出事件来实现鼠标经过缩略图时,将大图切换为对应的大图路径。代码如下:
<div class="thumbnails">
<img src="img/thumbnail1.jpg" data-bigsrc="img/big1.jpg">
<img src="img/thumbnail2.jpg" data-bigsrc="img/big2.jpg">
<img src="img/thumbnail3.jpg" data-bigsrc="img/big3.jpg">
</div>
<div class="big-image">
<img src="img/big1.jpg">
</div>
$(function(){
// 绑定鼠标经过事件
$('.thumbnails img').on('mouseover', function(){
var bigSrc = $(this).data('bigsrc');
$('.big-image img').attr('src', bigSrc);
});
// 绑定鼠标移出事件
$('.thumbnails').on('mouseout', function(){
$('.big-image img').attr('src', $('.thumbnails img').eq(0).data('bigsrc'));
});
});
在这个示例中,首先通过.thumbnails img
选择器来绑定鼠标经过事件,并在回调函数中,获取缩略图上的data-bigsrc
属性来获取对应大图的路径,并将其设置到.big-image img
元素的src
属性中。
其次,通过.thumbnails
选择器来绑定鼠标移出事件,并在回调函数中,获取第一张缩略图上的data-bigsrc
属性来获取对应默认大图的路径,并将其设置到.big-image img
元素的src
属性中,实现大图的恢复。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQuery实现鼠标经过图片预览大图效果 - Python技术站