生活随笔
收集整理的这篇文章主要介绍了
banner轮播图以及nav导航栏Jquery
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
轮播图是非常常见的,主要方法是利用了*setInterval()*定时器。隔一段时间就自动显示下一张图片。
首先制作导航栏
导航栏的制作非常简单。一般在写导航栏时,都是使用li+a标签的方式。
简单的设置它的样式。在其中加入动画,效果:鼠标移动到的时候,增加选中的效果。使用transition效果更流畅丝滑。
nav {position: relative
;bottom: 450px
;background-color: rgba(10, 63, 137, 0.8
);height: 80px
;line-height: 80px
;}nav li {float: left
;margin-left: 10px
;font-size: 17px
;}nav li a {display: inline-block
;text-align: center
;width: 100px
;height: 80px
;}nav ul {margin-left: 280px
;}nav ul input {color: #f0e5e5
;background: transparent
;border: 1px solid #ffffff
;border-radius: 10px
;height: 30px
;padding-left: 10px
;}nav li a:hover {font-size: 19px
;display: inline-block
;background-color: #4b53ac
;transition: all 1s
;}
这是导航栏的效果
制作轮播图
第一步先将需要轮播的图片导入。
一般在轮播图的下方会有对应图片的指定按钮,一个按钮对应一张轮播图,在点击它后,会显示相应的图片。
<header><div class="topIn"><img src="./top_logo.png" alt=""><img src="./top_kh.png" alt=""></div><ul><li><img class="bannerImg" src="./banner1.jpg" alt=" " srcset=" " style="width: 1920px;height: 590px;"></li><li><img class="bannerImg" src="./banner2.jpg" alt=" " srcset=" " style="width: 1920px;height: 590px;"></li><li><img class="bannerImg" src="./banner3.jpg" alt=" " srcset=" " style="width: 1920px;height: 590px;"></li></ul><ul class="btnUl"><li class="btn1"></li><li class="btn2"></li><li class="btn3"></li></ul></header>
注意一下几点:在最外面的header标签设置一个相对定位,让框框固定好。
相对定位在移动的时候是相对于它原来的位置,并且原来在标准流地位置继续占有,后面地盒子仍然以标准流的方式对待他。
logo和按钮都设置为绝对定位,绝对定位在移动的时候是相对于他的祖先元素来说的,如果没有祖先元素或者祖先元素没有定位,则以浏览器为准定位。 重要的是,绝对定位不占有原先的位置,脱离标准流。原先的位置会被后面的元素占据。
就是说,因为他们是一直都显示的,让他们浮在轮播图上面。
css:
header {width: 100%
;position: relative
;height: 590px
;}.topIn img {position: absolute
;z-index: 99
;}.topIn img:nth-child(1) {left: 330px
;}.topIn img:nth-child(2) {right: 200px
;top: 50px
}header ul li {position: absolute
;}header ul li img {opacity: 0
;transition: all 1s
;}header li img:nth-child(1) {opacity: 1
;}.btnUl {display: flex
;justify-content: space-evenly
;}.btnUl li {bottom: 20px
;width: 40px
;height: 10px
;border-radius: 30%
;border: 2px solid
rgba(92, 88, 88, 0.5
);box-shadow: 1px
;z-index: 99
;background-color: #f6f6fc
;cursor: pointer
;transition: all 0.5s
;}header ul .btn1:nth-child(1) {background-color: #c6c6ca
;margin-left: -200px
;}header ul .btn2 {margin-left: -25px
;}header ul .btn3 {margin-left: 150px
;}
js:
在使用Jquery需要先导入它。
使用定时器setInterval(执行内容,间隔的时间),它返回一个值,将这个值传给clearInterval()就停止了计时器的运作。
获取到一个轮播图的数组,设置一个变量index当作数组的索引,然后开始自加1,每次操作就先将所有的图片隐藏,再将index所匹配的图片设置为可见状态。
在增加到最大的时候,要进行判断,不能让index一直增加,当他等于图片的数量时候,又要从头开始,从而达到一个循环的状态。因为index是从0开始的,所以比较时候要把数组的length-1。
<script
>$().ready(function() {var index
= 0;setInterval(function() {if (index
>= $('.bannerImg').length
- 1) {index
= 0;$('.bannerImg').css("opacity", "0");$('.bannerImg').eq(index
).css("opacity", "1");} else {index
++;$('.bannerImg').css("opacity", "0")$('.bannerImg').eq(index
).css("opacity", "1")}$('.btnUl>li').css("backgroundColor", " #f6f6fc")$('.btnUl>li').eq(index
).css("backgroundColor", " #c6c6ca")}, 2000)$('.btnUl>li').click(function() {console
.log($('.btnUl'));index
= $(this).index();console
.log("点击了" + index
);$('.bannerImg').css("opacity", "0")$('.bannerImg').eq(index
).css("opacity", "1")$('.btnUl>li').css("backgroundColor", " #f6f6fc")$('.btnUl>li').eq(index
).css("backgroundColor", " #c6c6ca")})})
</script
>
结果:
总结
以上是生活随笔为你收集整理的banner轮播图以及nav导航栏Jquery的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。