<div>
<div class="change-num">/</div>
<div class="box">
<div class="box-ul">
<div class="box-li">
<span></span>
<img src="http://pic71.nipic.com/file/20150610/13549908_104823135000_2.jpg">
</div>
<div class="box-li">
<span></span>
<img src="http://img.zcool.cn/community/0142135541fe180000019ae9b8cf86.jpg@1280w_1l_2o_100sh.png">
</div>
<div class="box-li">
<span></span>
<img src="http://img07.tooopen.com/images/20170316/tooopen_sy_201956178977.jpg">
</div>
<div class="box-li">
<span></span>
<img src="http://res.supervolleyball.com/1/advisoryrelease/jpg/0107c578-01c6-4205-b397-31afe7a88d87.jpg">
</div>
</div>
</div>
<div class="text-contet">
文字文字文字文字文字文字文字文字
</div>
</div> <script>
$(".text-contet").css("height", innerHeight - + 'px');
/*
* sX 记录每次点击的x轴位置
* mX 记录每次滑动结束时的x轴位置
* msX = mX - sX 每次滑动长度
* index 当前图片显示的序号
* num 图片的总数量
* lN 当前图片的偏移量
* nLN 移动成功后的图片left偏移量
*/
var changeNum = $(".change-num");
var boxs = $(".box");
var box = $(".box-ul");
var num = box.children(".box-li").length, index = ;
var sX, mX, msX, lN = , nLN = ;
boxs.on("touchstart", function (ev) {
ev = ev || event
ev.preventDefault();
sX = ev.originalEvent.changedTouches[].clientX;
}).on("touchmove", function (ev) {
ev = ev || event;
ev.preventDefault();
mX = ev.originalEvent.changedTouches[].clientX;
msX = mX - sX;
nLN = lN + msX;
        /*
        * 如果nLN大于0, 那么不可以滑动
        * 如果nLN小于(1 - num) * 360 , 那么不可以滑动
        */
if (nLN > ) nLN = ;
if (nLN < ( - num) * ) nLN = ( - num) * ;
box.css("left", nLN + 'px');
}).on("touchend", function (ev) {
ev = ev || event;
ev.preventDefault();
if (msX > ) {
          //右滑动
                nLN = lN + ;
index --;
}
else if (msX < -) {
        // 左滑动
                nLN = lN - ;
index ++;
}
else nLN = lN;
if (nLN > ) {
nLN =
index = ;
}
if (nLN < ( - num) * ) {
nLN = ( - num) * ;
index = num;
}
box.animate({ left: nLN + "px" }, );
        //图片滑动成功, 恢复默认值
            lN = nLN; mX = ; msX = ;
changeNum.text(index + "/" + num);
});
</script>
<style>
.box {
  width: 360px;
  height: 300px;
  overflow: hidden;
  background: #e5e5e5;
}
.box-ul {
  position: relative;
  height: 300px;
  left: 0;
  font-size: 0;
  white-space: nowrap;
}
.box-li {
  display: inline-block;
  vertical-align: middle;
  width: 360px;
  height: 300px;
  text-align: center;
}
.box-li > span {
  display: inline-block;
  vertical-align: middle;
  width: 0px;
  height: 300px;
}
.box-li > img {
  display: inline-block;
  vertical-align: middle;
  max-height: 300px;
  max-width: 360px;
}
.text-contet {
  -webkit-overflow-scrolling: touch;
  overflow-x: hidden;
  overflow-y: scroll;
  width: 360px;
}
</style>

使用jq 仿 swper 图片左右滚动的更多相关文章

  1. jquery图片滚动仿QQ商城带左右按钮控制焦点图片切换滚动

    jquery图片滚动仿QQ商城带左右按钮控制焦点图片切换滚动 http://www.17sucai.com/pins/demoshow/382

  2. jQuery练手:仿新浪微博图片文字列表淡进淡出上下滚动效果

    1.效果及功能说明 仿新浪微博图片文字列表上下淡进淡出间歇上下滚动 2.实现原理 首先要设定div内只能显示4个图片那么多出来的图片会自动隐藏然后在给图片添加一个动画的事件让他们可以滚动的播放出来上下 ...

  3. wpf 仿QQ图片查看器

    参考博客 WPF下的仿QQ图片查看器 wpf图片查看器,支持鼠标滚动缩放拖拽 实现效果 主要参考的WPF下的仿QQ图片查看器,原博主只给出了部分代码. 没有完成的部分 1.右下角缩略图是原图不是缩略图 ...

  4. jquery 文字滚动大全 scroll 支持文字或图片 单行滚动 多行滚动 带按钮控制滚动

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. JavaScript学习笔记5 之 计时器 & scroll、offset、client系列属性 & 图片无缝滚动

    一.计时器 setInterval ( 函数/名称 , 毫秒数 )表示每经过一定的毫秒后,执行一次相应的函数(重复) setTimeout ( 函数/名称 , 毫秒数 ) 表示经过一定的毫秒后,只执行 ...

  6. iOS开发之多图片无缝滚动组件封装与使用

    经常有园友会问"博主,有没有图片无限滚动的Demo呀?", 正儿八经的图片滚动的Demo我这儿还真没有,今天呢就封装一个可以在项目中直接使用的图片轮播.没看过其他iOS图片无限轮播 ...

  7. 精心挑选10款优秀的 jQuery 图片左右滚动插件

    在现代的网页设计中,图片和内容滑块是一种极为常见和重要的元素.你可以从头开始编写自己的滑动效果,但是这将浪费很多时间,因为网络上已经有众多的优秀的 jQuery 滑块插件.当然,如果要从大量的 jQu ...

  8. [转]Android 超高仿微信图片选择器 图片该这么加载

    快速加载本地图片缩略图的方法: 原文地址:Android 超高仿微信图片选择器 图片该这么加载 其示例代码下载: 仿微信图片选择器 ImageLoader

  9. jQuery图片无缝滚动JS代码ul/li结构

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. Python爬虫之selenium各种注意报错

    刚刚写完第一个selenuim+BeautifulSoup实战爬虫 爬淘宝.发现代码写完后不加for 翻页的时候没什么问题 解析 操作 都没问题 也就是说第一页 的内容 完好 pagebtn=wait ...

  2. DBA_TABLES ALL_TABLES USER_TABLES

    DBA_TABLES >= ALL_TABLES >= USER_TABLES DBA_TABLES意为DBA拥有的或可以访问的所有的关系表. ALL_TABLES意为某一用户拥有的或可以 ...

  3. stat 文件三个时间点

    Linux文件3个时间点(access time,modify time,change time) access time:表示最后一次访问(仅仅是访问,没有改动)文件的时间. 注意:至于为什么会出现 ...

  4. C# emgu 多模板匹配

    public MatchInfo GetMatchPos(string Src, string Template) { MatchInfo myMatchInfo = new MatchInfo(); ...

  5. STM32F0使用LL库实现Modbus通讯

    在本次项目中,限于空间要求我们选用了STM32F030F4作为控制芯片.这款MCU不但封装紧凑,而且自带的Flash空间也非常有限,所以我们选择了LL库实现.本篇将说明基于LL实现USART通讯. 1 ...

  6. Microsoft Graph API -----起题 Graph API

    最近因为工作需要,接触学习使用了Microsoft Graph API.在看完Microsoft的Graph官方文档之后,也做了一些简单的案例,在Stack Overflow上做过一些回答.整体来说, ...

  7. 【算法】CRF(条件随机场)

    CRF(条件随机场) 基本概念 场是什么 场就是一个联合概率分布.比如有3个变量,y1,y2,y3, 取值范围是{0,1}.联合概率分布就是{P(y2=0|y1=0,y3=0), P(y3=0|y1= ...

  8. 03-案例——多任务版TCP服务端程序开发

    案例——多任务版TCP服务端程序开发   1. 需求     目前我们开发的TCP服务端程序只能服务于一个客户端,如何开发一个多任务版的TCP服务端程序能够服务于多个客户端呢?完成多任务,可以使用线程 ...

  9. C++的变量初始化

    C++中变量的初始化有很多种方式,如:默认初始化,值初始化,直接初始化,拷贝初始化,列表初始化. 1.默认初始化:默认初始化是指定义变量时没有指定初值时进行的初始化操作. 如:int a:这些变量被定 ...

  10. apache http添加证书转成https

    使用yum安装的apache. 第一步,需要把准备好的证书上传到服务器.具体位置:/app/cacerts/ 第二步,安装ssl. 命令:yum install mod_ssl openssl 安装完 ...