jQuery实现鼠标停留在图片上,图片缩小,移开,图片还原
时间: 2024-04-30 18:22:39 浏览: 11
jQuery可以使用mouseover和mouseout事件来实现鼠标悬停在图片上时的效果。具体代码如下:
```javascript
$(document).ready(function(){
// 当鼠标悬停在图片上时,图片缩小
$("img").mouseover(function(){
$(this).animate({width: "90%"}, 200);
});
// 当鼠标移开时,图片还原
$("img").mouseout(function(){
$(this).animate({width: "100%"}, 200);
});
});
```
希望这个回答对您有帮助!
相关问题
用HTML的jQuery实现当鼠标移到图片上时,显示边框,鼠标移出图片时,边框消失
可以使用jQuery的`.hover()`方法来实现该效果,代码如下:
```html
<!-- HTML代码 -->
<img src="example.jpg" class="image">
<!-- jQuery代码 -->
<script>
$(document).ready(function(){
$(".image").hover(
function(){
$(this).css("border", "1px solid black"); // 鼠标移到图片上时,添加边框
},
function(){
$(this).css("border", "none"); // 鼠标移出图片时,移除边框
}
);
});
</script>
```
需要先引入jQuery库,然后在`<script>`标签中编写jQuery代码。当鼠标移入`.image`元素时,执行第一个函数,添加黑色的1像素宽度的实线边框;当鼠标移出`.image`元素时,执行第二个函数,移除边框。
jQuery 单独设置每张幻灯片图片的停留时间 鼠标悬停 鼠标移开后立即下一张 完整代码
以下是通过 jQuery 实现单独设置每张幻灯片图片的停留时间,并且在鼠标悬停时停止轮播,鼠标移开后立即下一张的完整代码:
HTML 代码:
```
<div class="slideshow">
<img src="image1.jpg" data-delay="3000">
<img src="image2.jpg" data-delay="5000">
<img src="image3.jpg" data-delay="7000">
</div>
```
CSS 代码:
```
.slideshow {
position: relative;
}
.slideshow img {
position: absolute;
top: 0;
left: 0;
opacity: 0;
transition: opacity 1s ease-in-out;
}
.slideshow img.active {
opacity: 1;
}
```
JavaScript 代码:
```
$(function() {
var delay = 0;
$('.slideshow img').each(function() {
$(this).delay(delay).queue(function(next) {
$(this).addClass('active');
next();
});
delay += parseInt($(this).data('delay'));
});
setInterval(function() {
var $active = $('.slideshow img.active');
$active.removeClass('active').dequeue();
var $next = $active.next('img');
if ($next.length === 0) {
$next = $('.slideshow img').first();
}
$next.addClass('active').dequeue();
}, 1000);
$('.slideshow').hover(function() {
clearInterval();
}, function() {
setInterval();
});
});
```
解释:
1. HTML 代码中每张幻灯片图片都有一个 `data-delay` 属性,用于设置该图片的停留时间。
2. CSS 代码中将每张图片设置为绝对定位,透明度为 0,并且设置了一个过渡效果,用于实现淡入淡出的效果。另外还定义了一个 `.active` 类,用于标记当前显示的图片。
3. JavaScript 代码中,通过 jQuery 的 `.each()` 方法遍历每张幻灯片图片,并且根据其 `data-delay` 属性设置其停留时间。然后通过 `setInterval()` 方法定时切换图片,并且在切换时添加或移除 `.active` 类来实现淡入淡出的效果。
4. 最后通过 jQuery 的 `.hover()` 方法在鼠标悬停时停止轮播,在鼠标移开时恢复轮播。
注意事项:
1. 代码中的 `1000` 指的是每一秒钟执行一次切换图片的操作,可以根据需要进行调整。
2. `setInterval()` 方法返回一个 ID,可以使用 `clearInterval()` 方法停止定时器,需要将该 ID 存储在变量中,然后在 `.hover()` 方法中使用。
3. 需要在页面加载后执行 JavaScript 代码,可以使用 `$(function() {...})` 或者 `$(document).ready(function() {...})` 来实现。