朋友炒股两个月赚了10万,我帮他推广一下公众号,把钱用来投资总比放银行连通货膨胀都跑不过里强, 硬核离职,在家炒股 ,这是他每天的日志,有些经验是花钱也买不到的。

一、前言

去年接触了移动Web开发,做了些手机端的网站及应用,还有些小的微信游戏和活动页面。每个项目里或多或少的都会有一些触屏事件等。其中有两个用到了jquery触屏幻灯片。刚开始的时候也在百度上搜索了一翻,但最终都没有找到合适的,因此就觉得自己写一个了。下面的例子是我在已前的项目里摘出来的,对于触屏本人也不算老鸟,有写的不足的地方请大家提出反馈意见。附件为源码和使用教程,该幻灯片兼容安卓、iphone、和大winphone手机。可放心使用。使用时请注明版权及出处。

二、内容

幻灯片切换:屏幕的可视区域根据手指触发屏幕的滑动来动态切换需要展示的图片,这里涉及到两个过程:

一、触屏事件监控,手指针对于触屏的滑动事件。

W3C标准针对触屏操作主要用到三大块内容:事件、Touch对象、TouchEvent对象。

共有4个事件:touchstart、touchmove、touchend、touchcancel

(1)touchstart:触摸点触摸到触屏表面时触发。

(2)touchmove:触摸点在触屏上移动时触发。

(3)touchend:触摸点离开触屏上时触发。

(4)touchcancel:触摸点取消时触发。

常用的事件有3种:touchstart、touchmove、touchend

Touch对象共8种属性:identifier、target、screenX、screenY、clientX、clientY、pageX、pageY

(1)identifier:只读,long类型,针对每一个touch事件的统一标识,常用于多指触发的事件处理。

(2)target:只读,EventTarget类型,触摸点所触摸的目标。

(3)screenX:只读,long类型,触摸点位置相对于用户屏幕水平偏移量。

(4)screenY:只读,long类型,触摸点位置相对于用户屏幕垂直偏移量。

(5)clientX:只读,long类型,触摸点位置相对于可视区域的水平偏移量,该偏移量不包含滚动条的偏移量。

(6)clientY:只读,long类型,触摸点位置相对于可视区域的垂直偏移量,该偏移量不包含滚动条的偏移量。

(7)pageX:只读,long类型,触摸点位置相对于页面的水平偏移量,该偏移量包含滚动条的偏移量。

(8)pageY:只读,long类型,触摸点位置相对于页面的垂直偏移量,该偏移量包含滚动条的偏移量。

常用的属性有3种:target、pageX、pageY

TouchEvent对象的7种属性

(1)touches:只读,touchlist类型,当前被触发的touch对象列表。

(2)targetTouches:只读,touchlist类型,

(3)changedTouches:只读,touchlist类型,上次被触发的touch对象列表。这个对象列表是4种事件的touch对集合,针对不同的事件有不同的要求。

  1)touchstart事件:必须是刚刚被触发的touchstart事件对象。

  2)touchmove事件:必须是刚刚被触发的touchmove事件对象。

  3)touchend and touchcancel事件:必须是刚刚移除屏幕的touchend and touchcancel事件对象。

(4)altKey:只读,boolean类型,如果是alt键引发的触屏事件,则返回true,否则为false

(5)metaKey:只读,boolean类型,如果是meta键(不同平台下这个名称或许不同)引发的触屏事件,则返回true,否则为false

(6)ctrlKey:只读,boolean类型,如果是ctrl键引发的触屏事件,则返回true,否则为false

(7)shiftKey:只读,boolean类型,如果是shift键引发的触屏事件,则返回true,否则为false

常用的属性有3种:touches、targetTouches、changedTouches

注意:(在代码中已加入对wp手机的兼容处理)

大WP手机,Microsoft遵循W3C的Pointer Events规范(该规范还在草案审理中),Pointer Events针对触屏的自定义事件有7种: pointerdown、pointerenter、pointerleave、pointermove、pointerout、pointerover、pointerup,这些事件都继承于我们常用的mouse事件。

Pointer Events这里不做过多解释,分别对应鼠标事件如下表所示:

微软鼠标事件与触屏事件对应关系表
mousedown pointerdown 
mouseenter  pointerenter 
mouseleave  pointerleave 
mousemove  pointermove 
mouseout  pointerout 
mouseover  pointerover 
mouseup  pointerup 

因此,根据上面提供的事件及相关的处理机制我们即可针对用户触屏的事件做处理,如:touchstart时保存手指在屏幕上的位置,touchend时监控手指在屏幕上的位置。当横向的滑动位置大小一定宽度时我们认为手指在触屏上是有效滑动。(例子中的幻灯片是以30px为界限)。

例如:

touchstart在屏幕横向20px,touchend在屏幕横向40px,即:横向为20px的距离,说明手指向右滑动。

touchstart在屏幕横向20px,touchend在屏幕横向10px,即:横向为-10px的距离,说明手指向左滑动。

示例代码如下:

  document.getElementById("xtouchslider-wrapper").addEventListener('touchstart', touchstarthandler, false);
document.getElementById("xtouchslider-wrapper").addEventListener('touchmove', touchmovehandler, false);
document.getElementById("xtouchslider-wrapper").addEventListener('touchend', touchendhandler, false);
function touchstarthandler(event) {
x1 = event.touches[0].pageX;
}
function touchmovehandler(event) {
event.preventDefault();//禁止浏览器默认事件
}
function touchendhandler(event) {
x2 = event.changedTouches[0].pageX;
//判断滑动的距离
if ((x1 - x2) > 30)//左滑动
{
scrollleft();
} if ((x1 - x2) < -30)//右滑动
{
scrollright();
}
}

二、触屏事件处理

如:淡时淡出切换图片、左右滑动切换图片等(此处以最常见的左右滑动为示例)。

在没有css3这前,一般针对这类简单的动画都是使用setTimeOut()结合css绝对定位来处理动画过程,但触屏手机大部份浏览器都是基于webkit内核,对css3的支持很好,我们在做幻灯动画处理的时候使用css3动画+定位进行动画的处理。

css3中我们主要用到的是@keyframes 规则与transform 属性。

@keyframes 规则用于创建动画。

transform:向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜。

 /*item从左向右移入可视区*/
.xtouchslider-item-scroll-right-in {
z-index:;
-moz-animation: xtouchslider-item-scroll-right-in-animation 0.5s both linear; /* Firefox */
-webkit-animation: xtouchslider-item-scroll-right-in-animation 0.5s both linear; /* Safari 和 Chrome */
-o-animation: xtouchslider-item-scroll-right-in-animation 0.5s both linear; /* Opera */
animation: xtouchslider-item-scroll-right-in-animation 0.5s both linear;
} @keyframes xtouchslider-item-scroll-right-in-animation {
0% {
-ms-transform: translateX(-100%); /* IE 9 */
-moz-transform: translateX(-100%); /* Firefox */
-webkit-transform: translateX(-100%); /* Safari 和 Chrome */
-o-transform: translateX(-100%); /* Opera */
transform: translateX(-100%);
} 100% {
-ms-transform: translateX(0%); /* IE 9 */
-moz-transform: translateX(0%); /* Firefox */
-webkit-transform: translateX(0%); /* Safari 和 Chrome */
-o-transform: translateX(0%); /* Opera */
transform: translateX(0%);
}
}

三、源码及使用

1、JS源码

 $(document).ready(function () {
//根据item的数量创建icon
(function () {
var count = $(".xtouchslider-item-wrapper").children("div").length;//获取图片数量
if (count > 0) {
for (var i = 0; i < count; i++) {//添加icon项目
$(".xtouchslider-icon-wrapper").append("<div class=\"xtouchslider-icon\"></div>");
}
//首项设置为选中
$(".xtouchslider-icon").first().removeClass("xtouchslider-icon").addClass("xtouchslider-icon-on");
}
}());
//xtouchslider对象
$.xtouchslider = {
wrapper: $(".xtouchslider-wrapper"),
items: {
wrapper: $(".xtouchslider-item-wrapper"),
css: {
item: "xtouchslider-item",
itemon: "xtouchslider-item-on",
scrollleftout: "xtouchslider-item-scroll-left-out",
scrollleftin: "xtouchslider-item-scroll-left-in",
scrollrightout: "xtouchslider-item-scroll-right-out",
scrollrightin: "xtouchslider-item-scroll-right-in"
},
prev: {},
current: {},
next: {},
scroll: function (direction) {
var that = this;
function selected(item) {
item.removeClass(that.css.item).addClass(that.css.itemon);
switch (direction) {
case "left":
item.addClass(that.css.scrollleftin);
break;
case "right":
item.addClass(that.css.scrollrightin);
break;
}
};
function unselected(item) {
item.removeClass(that.css.itemon).addClass(that.css.item);
switch (direction) {
case "left":
item.addClass(that.css.scrollleftout);
break;
case "right":
item.addClass(that.css.scrollrightout);
break;
}
};
switch (direction) {
case "left":
if (this.next.length > 0) {
unselected(this.current);
selected(this.next);
}
break;
case "right":
if (this.prev.length > 0) {
unselected(this.current);
selected(this.prev);
}
break;
};
var that = this; setTimeout(function () { that.clear(); }, 500);
},
clear: function () {
this.wrapper.children().removeClass(this.css.scrollleftout).removeClass(this.css.scrollleftin).removeClass(this.css.scrollrightout).removeClass(this.css.scrollrightin);
}
},
icons: {
wrapper: $(".xtouchslider-icon-wrapper"),
css: {
icon: "xtouchslider-icon",
iconon: "xtouchslider-icon-on"
},
prev: {},
current: {},
next: {},
scroll: function (direction) {
var that = this;
function unselected(icon) {
icon.removeClass(that.css.iconon).addClass(that.css.icon);
};
function selected(icon) {
icon.removeClass(that.css.icon).addClass(that.css.iconon);
};
switch (direction) {
case "left":
if (this.next.length > 0) {
unselected(this.current);
selected(this.next);
}
break;
case "right":
if (this.prev.length > 0) {
unselected(this.current);
selected(this.prev);
}
break;
};
},
}
};
$.xtouchslider.exec = {
css: {
itemwrapper: ".xtouchslider-item-wrapper",
itemon: ".xtouchslider-item-on",
iconwrapper: ".xtouchslider-icon-wrapper",
iconon: ".xtouchslider-icon-on"
},
scrollleft: function () {
var that = this;
var currentitem = $(that.css.itemwrapper).children().filter(that.css.itemon);
$.xtouchslider.items.current = currentitem; $.xtouchslider.items.next = currentitem.next();
$.xtouchslider.items.scroll("left");
var currenticon = $(that.css.iconwrapper).children().filter(that.css.iconon);
$.xtouchslider.icons.current = currenticon; $.xtouchslider.icons.next = currenticon.next();
$.xtouchslider.icons.scroll("left");
},
scrollright: function () {
var that = this;
var currentitem = $(that.css.itemwrapper).children().filter(that.css.itemon);
$.xtouchslider.items.current = currentitem; $.xtouchslider.items.prev = currentitem.prev();
$.xtouchslider.items.scroll("right");
var currenticon = $(that.css.iconwrapper).children().filter(that.css.iconon);
$.xtouchslider.icons.current = currenticon; $.xtouchslider.icons.prev = currenticon.prev();
$.xtouchslider.icons.scroll("right");
}
};
$.xtouchslider.init = {
x1: {},
x2: {},
main: function () {
if (window.navigator.msPointerEnabled) {//winphone浏览器
$(".xtouchslider-wrapper").bind("pointerdown", this.iepointerdown);
$(".xtouchslider-wrapper").bind("pointermove", this.iepointermove);
$(".xtouchslider-wrapper").bind("pointerout", this.iepointerout);
}
else {
$(".xtouchslider-wrapper").bind("touchstart", this.othertouchstart);
$(".xtouchslider-wrapper").bind("touchmove", this.othertouchmove);
$(".xtouchslider-wrapper").bind("touchend", this.othertouchend);
}
},
iepointerdown: function (event) {
this.x1 = event.originalEvent.pageX;
},
iepointermove: function (event) {
event.originalEvent.preventDefault();
},
iepointerout: function (event) {
this.x2 = event.originalEvent.pageX;
if ((this.x1 - this.x2) > 30) {
$.xtouchslider.exec.scrollleft();
} if ((this.x1 - this.x2) < -30) {
$.xtouchslider.exec.scrollright();
}
},
othertouchstart: function (event) {
this.x1 = event.originalEvent.touches[0].pageX;
},
othertouchmove: function (event) {
event.originalEvent.preventDefault();
},
othertouchend: function (event) {
this.x2 = event.originalEvent.changedTouches[0].pageX;
if ((this.x1 - this.x2) > 30) {
$.xtouchslider.exec.scrollleft();
}
if ((this.x1 - this.x2) < -30) {
$.xtouchslider.exec.scrollright();
}
}
};
$.xtouchslider.init.main();
});

2、Css源码

 .xtouchslider-wrapper {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
} .xtouchslider-item, .xtouchslider-item-on {
width: 100%;
height: 100%;
position: absolute;
z-index:;
} .xtouchslider-item img, .xtouchslider-item-on img {
width: 100%;
height: 100%;
} .xtouchslider-item-on {
z-index:;
} .xtouchslider-icon-wrapper {
position: absolute;
z-index:;
bottom: 5%;
width: 100%;
height: 5%;
text-align: center;
display: table;
} .xtouchslider-icon, .xtouchslider-icon-on {
background: #ffffff;
width: 1.2em;
height: 1.2em;
border-radius: 1.2em;
margin-right: 1em;
opacity: 0.5;
display: inline-block;
float: none;
} .xtouchslider-icon-wrapper div:last-child {
margin-right: 0em;
} .xtouchslider-icon-on {
background: #ff6a00;
} /*item由当前位置向左移出可视区*/
.xtouchslider-item-scroll-left-out {
z-index:;
-moz-animation: xtouchslider-item-scroll-left-out-animation 0.5s both linear; /* Firefox */
-webkit-animation: xtouchslider-item-scroll-left-out-animation 0.5s both linear; /* Safari 和 Chrome */
-o-animation: xtouchslider-item-scroll-left-out-animation 0.5s both linear; /* Opera */
animation: xtouchslider-item-scroll-left-out-animation 0.5s both linear;
} @keyframes xtouchslider-item-scroll-left-out-animation {
0% {
-ms-transform: translateX(0%); /* IE 9 */
-moz-transform: translateX(0%); /* Firefox */
-webkit-transform: translateX(0%); /* Safari 和 Chrome */
-o-transform: translateX(0%); /* Opera */
transform: translateX(0%);
} 100% {
-ms-transform: translateX(-100%); /* IE 9 */
-moz-transform: translateX(-100%); /* Firefox */
-webkit-transform: translateX(-100%); /* Safari 和 Chrome */
-o-transform: translateX(-100%); /* Opera */
transform: translateX(-100%);
}
} @-moz-keyframes xtouchslider-item-scroll-left-out-animation {
0% {
-ms-transform: translateX(0%); /* IE 9 */
-moz-transform: translateX(0%); /* Firefox */
-webkit-transform: translateX(0%); /* Safari 和 Chrome */
-o-transform: translateX(0%); /* Opera */
transform: translateX(0%);
} 100% {
-ms-transform: translateX(-100%); /* IE 9 */
-moz-transform: translateX(-100%); /* Firefox */
-webkit-transform: translateX(-100%); /* Safari 和 Chrome */
-o-transform: translateX(-100%); /* Opera */
transform: translateX(-100%);
}
} @-webkit-keyframes xtouchslider-item-scroll-left-out-animation {
0% {
-ms-transform: translateX(0%); /* IE 9 */
-moz-transform: translateX(0%); /* Firefox */
-webkit-transform: translateX(0%); /* Safari 和 Chrome */
-o-transform: translateX(0%); /* Opera */
transform: translateX(0%);
} 100% {
-ms-transform: translateX(-100%); /* IE 9 */
-moz-transform: translateX(-100%); /* Firefox */
-webkit-transform: translateX(-100%); /* Safari 和 Chrome */
-o-transform: translateX(-100%); /* Opera */
transform: translateX(-100%);
}
} /*item从右向左移入可视区*/
.xtouchslider-item-scroll-left-in {
z-index:;
-moz-animation: xtouchslider-item-scroll-left-in-animation 0.5s both linear; /* Firefox */
-webkit-animation: xtouchslider-item-scroll-left-in-animation 0.5s both linear; /* Safari 和 Chrome */
-o-animation: xtouchslider-item-scroll-left-in-animation 0.5s both linear; /* Opera */
animation: xtouchslider-item-scroll-left-in-animation 0.5s both linear;
} @keyframes xtouchslider-item-scroll-left-in-animation {
0% {
-ms-transform: translateX(100%); /* IE 9 */
-moz-transform: translateX(100%); /* Firefox */
-webkit-transform: translateX(100%); /* Safari 和 Chrome */
-o-transform: translateX(100%); /* Opera */
transform: translateX(100%);
} 100% {
-ms-transform: translateX(0%); /* IE 9 */
-moz-transform: translateX(0%); /* Firefox */
-webkit-transform: translateX(0%); /* Safari 和 Chrome */
-o-transform: translateX(0%); /* Opera */
transform: translateX(0%);
}
} @-moz-keyframes xtouchslider-item-scroll-left-in-animation {
0% {
-ms-transform: translateX(100%); /* IE 9 */
-moz-transform: translateX(100%); /* Firefox */
-webkit-transform: translateX(100%); /* Safari 和 Chrome */
-o-transform: translateX(100%); /* Opera */
transform: translateX(100%);
} 100% {
-ms-transform: translateX(0%); /* IE 9 */
-moz-transform: translateX(0%); /* Firefox */
-webkit-transform: translateX(0%); /* Safari 和 Chrome */
-o-transform: translateX(0%); /* Opera */
transform: translateX(0%);
}
} @-webkit-keyframes xtouchslider-item-scroll-left-in-animation {
0% {
-ms-transform: translateX(100%); /* IE 9 */
-moz-transform: translateX(100%); /* Firefox */
-webkit-transform: translateX(100%); /* Safari 和 Chrome */
-o-transform: translateX(100%); /* Opera */
transform: translateX(100%);
} 100% {
-ms-transform: translateX(0%); /* IE 9 */
-moz-transform: translateX(0%); /* Firefox */
-webkit-transform: translateX(0%); /* Safari 和 Chrome */
-o-transform: translateX(0%); /* Opera */
transform: translateX(0%);
}
} /*item由当前位置向右移出可视区*/
.xtouchslider-item-scroll-right-out {
z-index:;
-moz-animation: xtouchslider-item-scroll-right-out-animation 0.5s both linear; /* Firefox */
-webkit-animation: xtouchslider-item-scroll-right-out-animation 0.5s both linear; /* Safari 和 Chrome */
-o-animation: xtouchslider-item-scroll-right-out-animation 0.5s both linear; /* Opera */
animation: xtouchslider-item-scroll-right-out-animation 0.5s both linear;
} @keyframes xtouchslider-item-scroll-right-out-animation {
0% {
-ms-transform: translateX(0%); /* IE 9 */
-moz-transform: translateX(0%); /* Firefox */
-webkit-transform: translateX(0%); /* Safari 和 Chrome */
-o-transform: translateX(0%); /* Opera */
transform: translateX(0%);
} 100% {
-ms-transform: translateX(100%); /* IE 9 */
-moz-transform: translateX(100%); /* Firefox */
-webkit-transform: translateX(100%); /* Safari 和 Chrome */
-o-transform: translateX(100%); /* Opera */
transform: translateX(100%);
}
} @-moz-keyframes xtouchslider-item-scroll-right-out-animation {
0% {
-ms-transform: translateX(0%); /* IE 9 */
-moz-transform: translateX(0%); /* Firefox */
-webkit-transform: translateX(0%); /* Safari 和 Chrome */
-o-transform: translateX(0%); /* Opera */
transform: translateX(0%);
} 100% {
-ms-transform: translateX(100%); /* IE 9 */
-moz-transform: translateX(100%); /* Firefox */
-webkit-transform: translateX(100%); /* Safari 和 Chrome */
-o-transform: translateX(100%); /* Opera */
transform: translateX(100%);
}
} @-webkit-keyframes xtouchslider-item-scroll-right-out-animation {
0% {
-ms-transform: translateX(0%); /* IE 9 */
-moz-transform: translateX(0%); /* Firefox */
-webkit-transform: translateX(0%); /* Safari 和 Chrome */
-o-transform: translateX(0%); /* Opera */
transform: translateX(0%);
} 100% {
-ms-transform: translateX(100%); /* IE 9 */
-moz-transform: translateX(100%); /* Firefox */
-webkit-transform: translateX(100%); /* Safari 和 Chrome */
-o-transform: translateX(100%); /* Opera */
transform: translateX(100%);
}
} /*item从左向右移入可视区*/
.xtouchslider-item-scroll-right-in {
z-index:;
-moz-animation: xtouchslider-item-scroll-right-in-animation 0.5s both linear; /* Firefox */
-webkit-animation: xtouchslider-item-scroll-right-in-animation 0.5s both linear; /* Safari 和 Chrome */
-o-animation: xtouchslider-item-scroll-right-in-animation 0.5s both linear; /* Opera */
animation: xtouchslider-item-scroll-right-in-animation 0.5s both linear;
} @keyframes xtouchslider-item-scroll-right-in-animation {
0% {
-ms-transform: translateX(-100%); /* IE 9 */
-moz-transform: translateX(-100%); /* Firefox */
-webkit-transform: translateX(-100%); /* Safari 和 Chrome */
-o-transform: translateX(-100%); /* Opera */
transform: translateX(-100%);
} 100% {
-ms-transform: translateX(0%); /* IE 9 */
-moz-transform: translateX(0%); /* Firefox */
-webkit-transform: translateX(0%); /* Safari 和 Chrome */
-o-transform: translateX(0%); /* Opera */
transform: translateX(0%);
}
} @-moz-keyframes xtouchslider-item-scroll-right-in-animation {
0% {
-ms-transform: translateX(-100%); /* IE 9 */
-moz-transform: translateX(-100%); /* Firefox */
-webkit-transform: translateX(-100%); /* Safari 和 Chrome */
-o-transform: translateX(-100%); /* Opera */
transform: translateX(-100%);
} 100% {
-ms-transform: translateX(0%); /* IE 9 */
-moz-transform: translateX(0%); /* Firefox */
-webkit-transform: translateX(0%); /* Safari 和 Chrome */
-o-transform: translateX(0%); /* Opera */
transform: translateX(0%);
}
} @-webkit-keyframes xtouchslider-item-scroll-right-in-animation {
0% {
-ms-transform: translateX(-100%); /* IE 9 */
-moz-transform: translateX(-100%); /* Firefox */
-webkit-transform: translateX(-100%); /* Safari 和 Chrome */
-o-transform: translateX(-100%); /* Opera */
transform: translateX(-100%);
} 100% {
-ms-transform: translateX(0%); /* IE 9 */
-moz-transform: translateX(0%); /* Firefox */
-webkit-transform: translateX(0%); /* Safari 和 Chrome */
-o-transform: translateX(0%); /* Opera */
transform: translateX(0%);
}
}

3、应用实例

 <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Jquery幻灯片Demo</title>
<meta name="viewport" content="target-densitydpi=320,width=640,user-scalable=no" />
<meta name="apple-touch-fullscreen" content="no" />
<link href="Css/xtouchslider.css" rel="stylesheet" />
<script src="Script/jquery-2.1.1.js"></script>
<script src="Script/xtouchslider.js"></script>
<style type="text/css">
html, body {
padding: 0px;
margin: 0px;
height: 100%;
} .tempstyle {
width: 100%;
height: 50%;
}
</style>
</head>
<body>
<div class="tempstyle">
<div class="xtouchslider-wrapper">
<div class="xtouchslider-item-wrapper">
<div class="xtouchslider-item-on"><img src="Image/1.png" /></div>
<div class="xtouchslider-item"><img src="Image/2.png" /></div>
<div class="xtouchslider-item"><img src="Image/3.png" /></div>
<div class="xtouchslider-item"><img src="Image/2.png" /></div>
</div>
<div class="xtouchslider-icon-wrapper">
</div>
</div>
</div>
</body>
</html>

说明:tempstyle是外层的div,无实际意义,在使用中把这个div换成项目中要放幻灯的div即可。<div class="xtouchslider-wrapper"></div>为内层。xtouchslider-wrapper的样式为宽高都为100%,因此在使用过程中只需要针对tempstyle的div进行设计宽高即可。

4,效果

四、源码打包下载

点我下载源码

版权:http://www.cnblogs.com/iamlilinfeng

jquery触屏幻灯片的更多相关文章

  1. jquery 触屏滑动+定时滚动

    <!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...

  2. jquery -- 触屏设备touch事件

    几种普及得比较好的触摸事件,你可以在绝大多数现代浏览器中来测试这一事件(必须是触屏设备哦): touchstart:触摸开始的时候触发 touchmove:手指在屏幕上滑动的时候触发 touchend ...

  3. Jquery轻量级幻灯插件-OWL Carousel--支持触屏的移动浏览器

    Jquery轻量级幻灯插件-OWL Carousel--支持触屏的移动浏览器 在项目中,需要做一个幻灯功能,领导说需要一个小清醒的啊,轻量级的.刚开始搜索到这个: CRAFTYSLIDE插件.但是用起 ...

  4. 第145天:jQuery.touchSlider触屏满屏左右滚动幻灯片

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

  5. 朋友圈常见单页面触屏滑动上下翻屏功能jQuery实现

    翻页插件:实现原理,用margin-top来控制页面容器位置来实现上下翻页.margin这属性很好用,可以用来制作侧栏动画滑出菜单(左菜单,右内容,控制两者的margin实现):或者head下滑菜单 ...

  6. 基于jQuery的移动轮播图(支持触屏)

    移动轮播图我看到两款, 一款是无线天猫的m.tmall.com,实现了无缝轮播. 一款是蘑菇街的,没有实现无缝轮播. 我自己重写一个,类似蘑菇街 <!doctype html> <h ...

  7. 全新jquery多点滑动幻灯片——全屏动画animateSlide

    首页banner的酷炫效果多来自全屏大图的幻灯片动画,下面提供一种完美兼容的jquery动画特效:全新jquery多点滑动幻灯片——全屏动画animateSlide(代码完全原创). 直接上代码,把h ...

  8. 【转载】jQuery手机移动端触屏日历日期选择

    文章转载自 科e互联 http://www.internetke.com/ 原文链接:http://www.internetke.com/effects/css3/2015/0120/1222.htm ...

  9. jQuery手机触屏拖动滑块验证跳转插件

    HTML: <!DOCTYPE html> <html lang="en"> <head> <title>jQuery手机触屏拖动滑 ...

随机推荐

  1. PowerShell脚本自动设置安卓手机wifi代理

    在实际测试工作中,经常要将安卓手机通过wifi代理的形式连接到本机的fiddler或charles服务器代理进行抓包测试.最近一直在想,有没有什么方法可以自动设置安卓手机的wifi代理,曾经想通过修改 ...

  2. 我的sql 记录

    ----------2017-01-03 21:56:56---------- --字符串分隔 start------------- use LDSQL GO CREATE function [dbo ...

  3. css-position

    值 描述 absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位. 元素的位置通过 "left", "top", " ...

  4. 把CentOS 7.x网卡名称eno16777736改为eth0

    CentOS 7.x系统中网卡命名规则被重新定义,可能会是"eno167777xx"等,下面我们把网卡名称改为eth0这种. 一.cd  /etc/sysconfig/networ ...

  5. 一个简单的MySql数据库连接池的实现

    package cn.hc.connectionPool; import java.io.IOException; import java.io.InputStream; import java.sq ...

  6. Tomcat内部结构及工作原理学习

    Tomcat原本是Servlet/JSP的一个调试工具,后来才发展为一个Servlet/JSP的容器. Tomcat作为Servlet容器,负责处理客户请求,把请求传送给Servlet并把结果返回给客 ...

  7. 理解 JavaScript 作用域和作用域链

    http://www.cnblogs.com/lhb25/archive/2011/09/06/javascript-scope-chain.html

  8. 主流的单元测试工具之-JAVA新特性-Annotation 写作者:组长 梁伟龙

    1:什么是Annotation?Annotation,即“@xxx”(如@Before,@After,@Test(timeout=xxx),@ignore),这个单词一般是翻译成元数据,是JAVA的一 ...

  9. boost字符串算法

    boost::algorithm简介 2007-12-08 16:59 boost::algorithm提供了很多字符串算法,包括: 大小写转换: 去除无效字符: 谓词: 查找: 删除/替换: 切割: ...

  10. venus

    The Venus system was a small timesharing system serving five or six users at a time:分时系统 The design ...