jQuery仿海尔官网全屏焦点图特效代
要实现仿海尔官网的全屏焦点图特效,我们需要考虑以下几个方面:
<div class="fullpage-slider">
<div class="slide" style="background-image: url(image1.jpg);"></div>
<div class="slide" style="background-image: url(image2.jpg);"></div>
<div class="slid er-controls">
<button class="prev">上一张</button>
<button class="next">下一张</button>
<div class="dots"></div>
</div>
</div>
.fullpage-slider {
position: relative;
width: 100%;
height: 100vh;
overflow: hidden;
}
.slide {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-size: cover;
background-positio n: center center;
transition: opacity 0.5s ease-in-out;
}
.slide.active {
opacity: 1;
}
/* ...其他样式,如指示点样式、按钮样式等 */
$(document).ready(function() {
const $slider = $('.fullpage-slider');
const $slides = $('.slide');
const $dots = $('.dots');
let currentIndex = 0;
const slideCount = $slides.length;
// 创建指示点
for (let i = 0; i < slideCount; i++) {
$dots.append('<span class="dot"></span>');
}
// 初始化第一个slide
$slides.eq(currentIndex).addClass('active');
$('.dot').eq(currentIndex).addClass('active');
// 自动播放
function autoplay() {
currentIndex++;
if (currentIndex >= slideCount) {
currentIndex = 0;
}
showSlide(currentIndex);
}
// 显示指定slide
function showSlide(index) {
$slides.removeClass('active');
$('.dot').removeClass('active');
$slides.eq(index).addClass('active');
$('.dot').eq(index).addClass('active');
}
// 上一张、下一张按钮事件
$('.prev').click(() => {
currentIndex--;
if (currentIndex < 0) {
currentIndex = slideCount - 1;
}
showSlide(currentIndex);
});
$('.next').click(() => {
currentIndex++;
if (currentIndex >= slideCount) {
currentIndex = 0;
}
showSlide(currentIndex);
});
// 指示点点击事件
$('.dot').click(function() {
currentIndex = $(this).index();
showSlide(currentIndex);
});
// 自动播放
setInterval(autoplay, 3000);
});
position: fixed
和 width: 100%
, height: 100vh
实现。opacity
属性和 transition
实现淡入淡出效果。setInterval
函数实现自动切换。transform
属性实现滑动效果。transition
属性来调整淡入淡出的速度和方式。animation
属性或 JavaScript 动画库实现更复杂的动画效果。以上代码实现了基本的全屏焦点图效果,您可以根据海尔官网的具体设计要求进行调整和优化。
想了解更多关于 jQuery 实现焦点图的细节,可以参考以下关键词:
如果您有更具体的问题,欢迎随时提出!
例如,您想实现以下哪些功能?
我将为您提供更详细的解答。