jQuery仿淘宝图片无缝滚动轮播

自己前天,也就是1月8日的时候早上自己写了一个图片滚动轮播。

其实几个月以前就有朋友问过我怎么做出和淘宝上面一样的滚动轮播,一直到现在也没有真正的写好,这次写得差不多了。

但是还有两个问题

  1. 没有做左右按钮效果
  2. 没有写成面向对象

代码先放上来存着,后续还会加上左右按钮并且试着写成面向对象。

javascript部分:

 1 $(function(){
 2             var index;
 3
 4             var list_name = ‘#‘ + ‘slideImg‘; //图片ul的ID名
 5             var offset = $(list_name).find(‘img:first‘).width(); //图片宽度作为偏移量
 6             var autoTime = 3000;  //设置周期滚动时间
 7             var li_num = $(list_name).find(‘li‘).length;  //获取总共的li数量
 8             var ul_btn_width = $(‘#btn‘).width();
 9
10
11             $(list_name).css(‘margin-left‘,-offset + ‘px‘); //默认从第二张开始显示
12             $(‘#btn‘).css(‘left‘,(offset-ul_btn_width)/2);  //使按钮组水平居中
13
14             function imgMovie(){
15                 //ulMarLeft获取当前的marginleft值
16                 var ulMarLeft = $(list_name).css(‘margin-left‘);
17                     ulMarLeft = -parseInt(ulMarLeft);
18
19                 //处理按钮的状态。
20                 //判断图片是否显示到了最后一张(第五张)
21                 if(ulMarLeft == (li_num-2)*offset){
22                     //瞬间使当前图片变为还未偏移过的图片(即第1张),使得经过imgMovie()函数后,图片是从第2张开始显示
23                     $(list_name).css(‘margin-left‘, 0);
24                     $(list_name).stop().animate({‘margin-left‘:‘-=‘+offset+‘px‘});
25
26                     //去掉按钮所有当前状态
27                     $(‘#btn‘).find(‘.current‘).removeClass(‘current‘);
28                     //给第一个按钮显示当前状态
29                     $(‘#btn‘).find(‘li‘).eq(0).addClass(‘current‘);
30                 }else{
31
32                     //图片滚动到下一张
33                     $(list_name).stop().animate({‘margin-left‘:‘-=‘+offset+‘px‘});
34                     //让下一个按钮变为当前,其他按钮变为非当前
35                     $(‘#btn‘).find(‘.current‘).next().addClass(‘current‘).siblings().removeClass(‘current‘);
36                 }
37
38             }
39
40
41             var Timer = setInterval(function(){imgMovie();},autoTime);
42
43
44
45             $(‘#btn‘).find(‘li‘).mouseover(function(){
46
47                 var k = $(this).index();
48                 $(‘#btn‘).find(‘li‘).eq(k).addClass(‘current‘).siblings().removeClass(‘current‘);
49                 $(list_name).stop().animate({‘margin-left‘:-(k+1)*offset + ‘px‘});
50
51             });
52
53
54
55 })

css部分:

 1 *{
 2             padding: 0;
 3             margin: 0;
 4         }
 5         #slideImg{
 6             width: 4254px;
 7         }
 8         li{
 9             list-style: none;
10             height: 300px;
11             width: 709px;
12             float: left;
13         }
14         .pic-wrapper{
15             height: 300px;
16             width: 709px;
17             overflow: hidden;
18             position: relative;
19             margin: 0 auto;
20         }
21         .slide-scroll-con{
22             height: 300px;
23             width: 709px;
24             left: 0;
25             position: absolute;
26             top: 0;
27             z-index: 0;
28         }
29         #btn{
30             position: absolute;
31             bottom: 10px;
32             left: auto;
33         }
34         #btn li{
35             float: left;
36             width: 10px;
37             height: 10px;
38             border-radius: 5px;
39             background: #cccccc;
40             margin-left: 5px;
41         }
42         #btn li.current{
43             background: #ff6600;

html部分:

 1 <body>
 2 <div class="pic-wrapper">
 3     <div class="slide-scroll-con">
 4         <ul id="slideImg">
 5             <li><a target="_blank"><img src="http://images.cnblogs.com/cnblogs_com/lostk/648105/o_goods01.jpg"/> </a> </li>
 6             <li><a target="_blank"><img src="http://images.cnblogs.com/cnblogs_com/lostk/648105/o_goods02.jpg"/> </a> </li>
 7             <li><a target="_blank"><img src="http://images.cnblogs.com/cnblogs_com/lostk/648105/o_goods03.jpg"/> </a> </li>
 8             <li><a target="_blank"><img src="http://images.cnblogs.com/cnblogs_com/lostk/648105/o_goods04.jpg"/> </a> </li>
 9             <li><a target="_blank"><img src="http://images.cnblogs.com/cnblogs_com/lostk/648105/o_goods01.jpg"/> </a> </li>
10             <li><a target="_blank"><img src="http://images.cnblogs.com/cnblogs_com/lostk/648105/o_goods02.jpg"/> </a> </li>
11         </ul>
12         <ul id="btn">
13             <li class="current"></li>
14             <li></li>
15             <li></li>
16             <li></li>
17         </ul>
18     </div>
19 </div>
20 </body>
时间: 2024-12-03 06:55:03

jQuery仿淘宝图片无缝滚动轮播的相关文章

Jquery+css实现图片无缝滚动轮播

Today,在XX学院的教学视频中,偶尔看到了Jquery+css实现图片无缝滚动轮播视频教程,虽然以前已写过类似的,但是我感觉他学的比较精简.为了方便以后做项目时直接拷贝,特地写出来,顺便和大家分享一下 最终实现界面如下: 页面加载时,自动轮播,轮播鼠标悬停在整个banner容器的时候,两边会显示向左,向右按钮,鼠标悬停在中下方索引圆圈的上面,自动跳转到相应的图片. banner容器里面包含了图片列表img,索引圆圈 num,还有按钮两个btn <div class="banner&qu

jquery仿淘宝规格颜色选择效果

jquery实现的仿淘宝规格颜色选择效果源代码如下 jquery仿淘宝规格颜色选择效果 -收缩HTML代码 运行代码 [如果运行无效果,请自行将源代码保存为html文件运行] <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script> <style> dd,dl{zoom:1;ove

一款基于jQuery仿淘宝红色分类导航

今天给大家分享一款基于jQuery仿淘宝红色分类导航.这款分类导航适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="nav"> <div class="area clearfix"> <div class="separate"> </div> <div

jquery仿淘宝焦点图

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

jquery特效-基于jQuery仿淘宝红色分类导航

今天给大家分享一款基于jQuery仿淘宝红色分类导航.这款分类导航适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 实现的代码. html代码: <div id="nav"> <div class="area clearfix"> <div class="separate"> </div> <div class="

基于jQuery仿淘宝产品图片放大镜代码

今天给大家分享一款 基于jQuery淘宝产品图片放大镜代码.这是一款基于jquery.imagezoom插件实现的jQuery放大镜.适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="box"> <div class="tb-booth tb-pic tb-s310"> <a href=&q

JQuery仿淘宝滚动加载图片

用 JQuery 制作随着显示页面的滚动条的滚动动态加载图片,适用于图片太多的页面,在访问网页时,可以先只加载第一屏要显示的图片,当用户进行向下滚动查看页面的时候,动态去加载这些图片,好处是减少页面第一次显示的流量,加快页面第一屏显示的速度.利辛县档案局 主要原理:通过 setInterval 定时事件,检测滚动条的位置,再进行 ajax 请求服务端数据,加载图片到页面上. <script type="text/javascript"> var iHeight = 0; v

13.仿淘宝图片导航效果

效果图: 源代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <script src="jquery-3.3.1.js"></script> <style> *{ margin: 0; padding: 0; } ul{ li

jquery仿淘宝购物车页面商品结算(附源码)

1.效果图如下: 2.源码如下: html部分: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0