轮播图

整理一些项目中常用的模块  

常见的轮播图,具有自动切换 和 上下按钮切换功能, 包含三个部分, html  css 和 js 

html:

<div id="focus-banner">
<ul id="focus-banner-list">
<li>
<a href="#" class="focus-banner-img">
<img src="img/index/partner1.png" alt="">
</a>
</li>
<li>
<a href="#" class="focus-banner-img">
<img src="img/index/partner2.png" alt="">
</a>
</li>
</ul>
<a href="javascript:;" id="next-img" class="focus-handle"></a>
<a href="javascript:;" id="prev-img" class="focus-handle"></a>
<ul id="focus-bubble"></ul>
</div>


css:

/*轮播图样式*/
#focus-banner{
position: relative;
width: 100%;
overflow: hidden;
height: 420px;
}

#focus-banner-list{
position: relative;
}
#focus-banner-list li{
position: absolute;
left: 0;
top: 0;
width: 100%;
}
#focus-banner-list li img{
width: 100%;
}
.focus-banner-img{
display: block;
}

#focus-banner-list .focus-banner-text{
position: absolute;
left: 50%;
top: 0;
width: 1000px;
height: 100%;
margin-left: -500px;
text-align: center;
color: #fff;
font-size: 16px;
text-align: center;
}

#focus-banner .focus-handle{
position: absolute;
top: 50%;
margin-top: -40px;
z-index: 100;
display: block;
width: 80px;
height: 80px;
}
#next-img{
left: 0;
}
#next-img{
left: 50px;
background-position: 0 0;
}
#next-img:hover{
background-position: 0 -80px;
}
#prev-img{
right: 0;
}
#prev-img{
right: 50px;
background-position: -80px 0;
}
#prev-img:hover{
background-position: -80px -80px;
}

#focus-bubble{
position: absolute;
left: 50%;
bottom: 10px;
z-index: 999;
}
#focus-bubble li{
float: left;
width: 10px;
height: 10px;
margin: 0 5px;
border-radius: 50%;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
-o-border-radius: 50%;
-ms-border-radius: 50%;
border:1px #1137a5 solid;
cursor: pointer;
behavior: url(css/PIE.htc); /* 通知IE浏览器调用脚本作用于'box'类 */
}
#focus-bubble li.current{
background-color: #1137a5;
}


js:

<script>
$(function(){
var focusBanner=function(){
var x=30;
var $focusBanner=$("#focus-banner"),
$bannerList=$("#focus-banner-list li"),
$focusHandle=$(".focus-handle"),
$bannerImg=$(".focus-banner-img"),
$nextBnt=$("#next-img"),
$prevBnt=$("#prev-img"),
$focusBubble=$("#focus-bubble"),
bannerLength=$bannerList.length,
_index=0,
_timer="";

var _height=$(".focus-banner-img").find("img").height();
// $focusBanner.height(_height+x+"px");
$bannerImg.height(_height);

$(window).resize(function(){
window.location.reload()
}); // 浏览器窗口改变时 强制刷新当前窗口

for(var i=0; i<bannerLength; i++){
$bannerList.eq(i).css("zIndex",bannerLength-i);
$focusBubble.append("<li></li>");
}
//zIndex是js的z-index写法 默认图片是重叠堆放的 动态加载图片层级显示

$focusBubble.find("li").eq(0).addClass("current");

var bubbleLength=$focusBubble.find("li").length;

$focusBubble.css({
"width":bubbleLength*30,
"marginLeft":-bubbleLength*11,

});//初始化

$focusBubble.on("click","li",function(){
$(this).addClass("current").siblings().removeClass("current");
_index=$(this).index();
changeImg(_index);
});//点击轮换

$nextBnt.on("click",function(){
_index--
if(_index<0){
_index=bannerLength-1;
}
changeImg(_index);
});//下一张

$prevBnt.on("click",function(){
_index++;
if(_index>bannerLength-1){
_index=0;
}
changeImg(_index);
});//上一张

function changeImg(_index){
$bannerList.eq(_index).fadeIn(250);
$bannerList.eq(_index).siblings().fadeOut(200);
$focusBubble.find("li").removeClass("current");
$focusBubble.find("li").eq(_index).addClass("current");
clearInterval(_timer);//取消注释即可自动轮播
_timer=setInterval(function(){$nextBnt.click()},5000)//取消注释即可自动轮播
}//切换主函数
_timer=setInterval(function(){$nextBnt.click()},5000)//取消注释即可自动轮播
}();
});
</script>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现轮播图图片切换背景根据图片颜色渐变的效果,可以使用CSS和JavaScript来实现。下面是一种实现方式的示例代码: HTML部分: ```html <div class="slideshow"> <div class="slide"> <img src="image1.jpg" alt="Image 1"> </div> <div class="slide"> <img src="image2.jpg" alt="Image 2"> </div> <div class="slide"> <img src="image3.jpg" alt="Image 3"> </div> </div> ``` CSS部分: ```css .slideshow { position: relative; } .slide { position: absolute; top: 0; left: 0; opacity: 0; transition: opacity 1s ease-in-out; } .slide.active { opacity: 1; } .slideshow img { width: 100%; height: auto; } .slideshow::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to right, rgba(0,0,0,0.8), rgba(0,0,0,0)); z-index: -1; } ``` JavaScript部分: ```javascript const slides = document.querySelectorAll('.slide'); let currentIndex = 0; function changeSlide() { slides[currentIndex].classList.remove('active'); currentIndex = (currentIndex + 1) % slides.length; slides[currentIndex].classList.add('active'); } setInterval(changeSlide, 3000); ``` 上述代码中,通过CSS设置了轮播图容器的样式以及背景渐变效果。JavaScript部分实现了切换轮播图的逻辑,并使用setInterval函数定时调用changeSlide函数来切换图片。每次切换图片时,会为当前显示的图片添加active类,从而使其显示出来。 你可以根据实际需要修改CSS样式和JavaScript代码,来适应你的项目需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值