html 淡出淡入轮播图,jQuery淡入淡出轮播图实现

本文介绍了作者QD小白首次尝试使用jQuery实现淡入淡出轮播图的效果,相较于纯JS实现,感觉效果显著提升。博客详细阐述了HTML、CSS和JavaScript代码实现过程,并展示了代码片段。在CSS部分,设置了轮播图的样式;JS部分通过定时器和事件监听实现了轮播图的自动切换和手动点击切换。此外,还提供了鼠标悬停停止轮播和点击序号跳转到对应图片的功能。
摘要由CSDN通过智能技术生成

大家好我是QD小白,这是人生第一次写博客,准备写的内容是Jquery淡入淡出轮播图实现,在此之前学习JS写的轮播图效果都感觉不怎么好,学习了jQuery里的淡入淡出效果后又写了一次轮播图效果明显感觉好了许多。现在我就来分享下自己写轮播图的思路和方法。

HTML部分:

src="http://mamicode.com/https:/img.ivsky.com/img/bizhi/pre/201909/25/abominable-003.jpg">

src="http://mamicode.com/https:/img.ivsky.com/img/tupian/pre/201902/13/zhulin.jpg">

src="http://mamicode.com/https:/img.ivsky.com/img/tupian/pre/201903/14/hailang-001.jpg">

src="http://mamicode.com/https:/img.ivsky.com/img/tupian/pre/201903/14/shalou-002.jpg">

src="http://mamicode.com/https:/img.ivsky.com/img/tupian/pre/201902/13/youcaihua-002.jpg">

src="http://mamicode.com/https:/img.ivsky.com/img/tupian/pre/201902/13/zile_duorou.jpg">

<
>
012345

HTML:

CSS部分:

*{margin:0;padding:0;

}#img-box{position:relative;border:25px solid #ccc;margin:100px auto;

}#img-box img{position:absolute;display:block;opacity:0;float:left;cursor:pointer;

}#img-box #img-left,

#img-box #img-right{position:absolute;width:65px;height:120px;border:4px solid thistle;border-radius:6px;background-color:black;opacity:0.6;cursor:pointer;color:#fff;font-size:30px;text-align:center;line-height:120px;

}#img-box #img-left{left:1px;top:31%;

}#img-box #img-right{right:1px;top:31%;

}#img-box #img-num{position:absolute;width:500px;height:50px;

/*border:2px solid red;*/bottom:0px;left:15%;display:flex;flex-direction:row;justify-content:space-around;

}#img-box #img-num li{display:inline-block;list-style:none;font-size:14px;color:#fff;text-align:center;line-height:40px;cursor:pointer;width:45px;height:40px;border-radius:50%;background-color:black;

}

这是HTML 和 CSS两部分。展示的效果是这样的:

a1758d6eccead9ca74b60e0df0b0274f.png

下面的就是JS部分:

var n = 0;//设置定时器timer

var timer = setInterval(time, 4000);//轮播函数

//index 为 隐藏图片 ondex为显示的图片

functiontime() {

n++;if (n ==imgLeath) {

n= 0;

}for(var i=0; i

$("#img-box img").eq(i).fadeTo(0,0);

}

$("#img-box img").eq((n)).delay(50).fadeTo(500, 1);

}//设置点击切换效果 (右)

varrightteum;

$("#img-right").click(function() {for (var i = 0; i < imgLeath; i++)

{if ($("#img-box img").eq(i).css("opacity") != ‘0‘)

{//获取当前图片显示的下标

righteum =i;

}

}if(righteum == 5)

{

righteum= 5;

}

n=(righteum);

time();

});//设置点击切换效果 (左)

varlefteum;

$("#img-left").click(function() {for(var i=0; i

lefteum =i;

}

}if(lefteum == 0){

lefteum= 6;

}

n= (lefteum-2);

time();

});//当鼠标移入框内 轮播图停止

$("#img-box").mouseover(function(){

clearInterval(timer);

});//当鼠标移出框内 轮播图进行

$("#img-box").mouseout(function(){

timer= setInterval(time,4000);

});//点击li序号 图片就切换到那一张

for(var i=0; i

(function(i){

$("#img-num li").eq(i).click(function(){//i为切换图片的下标

console.log(i);//把 (i-1) 传给 n 因为在 time() 函数中 要进行 n++

n = (i-1);

time();

});

})(i)

}

})

我就来说说我写这个轮播图的想法和思路:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个 jQuery DOM 操作的代码示例,使用 jQuery 动态生成轮播图HTML 结构: HTML 代码: ```html <div class="slider"> <div class="slides"></div> <div class="dots"></div> </div> ``` CSS 代码: ```css .slider { position: relative; height: 500px; } .slides { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .slides img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 1s ease; } .slides img.active { opacity: 1; } .dots { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); } .dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background-color: #fff; margin-right: 10px; opacity: 0.5; transition: opacity 0.5s ease; } .dot.active { opacity: 1; } ``` jQuery 代码: ```javascript $(function() { var slider = $('.slider'); var slides = slider.find('.slides'); var dots = slider.find('.dots'); var slideCount = 3; var currentIndex = 0; // 动态生成轮播图HTML 结构 for (var i = 1; i <= slideCount; i++) { var slide = $('<img>').attr('src', 'image' + i + '.jpg').attr('alt', 'Image ' + i); slides.append(slide); var dot = $('<span>').addClass('dot').data('index', i - 1); dots.append(dot); } slides.find('img:first-child').addClass('active'); dots.find('.dot:first-child').addClass('active'); // 点击小圆点切换图片 dots.on('click', '.dot', function() { var index = $(this).data('index'); currentIndex = index; showSlide(currentIndex); }); function showSlide(index) { slides.find('img').removeClass('active'); slides.find('img').eq(index).addClass('active'); dots.find('.dot').removeClass('active'); dots.find('.dot').eq(index).addClass('active'); } function nextSlide() { currentIndex = (currentIndex + 1) % slideCount; showSlide(currentIndex); } setInterval(nextSlide, 3000); }); ``` 这段代码会动态生成轮播图HTML 结构,包括图片和小圆点,并且可以点击小圆点切换图片。你可以替换 HTML 代码中的图片链接来展示自己的图片。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值