jQuery实现图片简单轮播——div自适应图片img

我就是我 2022-08-03 11:59 241阅读 0赞

今天在网上找图片轮播插件,发现大多功能丰富又跨浏览器。自己也利用jQuery实现了一个。

1.实现的功能:

  • 利用jQuery,也是跨平台了嘛
  • div自适应图片,图片不失真
  • 循环播放
  • 动态加载图片
  • 只是没有实现动态交互。

2.代码实现

2.1 HTML部分

  1. <pre name="code" class="html"><pre name="code" class="html"><div class="banner">
  2. <span class="pic-close" title="关闭">
  3. <img src="images/pic-close.png"/>
  4. </span>
  5. </div>

这里,banner是图片展示的容器,用于实现右上角的关闭按钮

2.2 CSS控制

为了效果更好看,需要对上述的HTML元素进行css样式设定。

banner:

  1. .banner {
  2. position: absolute;
  3. border:solid 5px #fff;
  4. top:20%;
  5. left:20%;
  6. padding:0;
  7. background-color:black;
  8. height:auto !important;
  9. }

.pic-close与.pic-close img,我们需要使用绝对定位。并设置圆角,使它看起来像是圆形

  1. .pic-close{
  2. position:absolute;
  3. width:20px;
  4. height:20px;
  5. top:-15px;
  6. right:-15px;
  7. border:solid 2px #fff;
  8. -moz-border-radius:12px;
  9. -webkit-border-radius:12px;
  10. border-radius:12px;
  11. background-color:#fff;
  12. cursor:pointer;
  13. }
  14. .pic-close img{
  15. width:100%;
  16. height:100%;
  17. }

li,为后面动态添加的,里面放着图片。当然你也可以直接在HTML中将其写死。

  1. .banner li{
  2. list-style: none;
  3. }

2.3 jQuery部分

动态添加图片。

  1. for(var i=0; i<photo_count;i++){
  2. var setphoto="<li style='display:none'><img src='./photos/"+photo_path+"/"+i+".jpg'></li>";//动态添加图片,例如1.jpg,2.jpg,3.jpg等等
  3. $(setphoto)
  4. .appendTo(".banner");
  5. }
  6. var $li=$(".banner li:first").show();//选择第一张图片进行展示
  7. var time=setInterval(function(){
  8. $li.hide(); //该图片隐藏
  9. $li=$li.next("li"); //移动到下一张图片
  10. if($li.length==0) //若是到最后一张,则定位到第一张
  11. $li=$(".banner li:first").show();
  12. else
  13. $li.show(); //展示
  14. },2000); //每隔2秒换一张
  15. $(".pic-close").click(function(){
  16. clearInterval(time); //删除定时器
  17. $(".banner li").remove();//清空播放列表
  18. $(".banner").hide();//隐藏播放面板
  19. });

大功告成!代码不多,效果虽然没别人的好看,但是也挺不错的

3.效果图

贴几张图,看看效果

Center

Center 1

#

发表评论

表情:
评论列表 (有 0 条评论,241人围观)

还没有评论,来说两句吧...

相关阅读