body, html {
width: 100%;
}
* {
margin:;
padding:;
list-style: none;
}
.haha {
list-style-type: none;
}
.nav {
width: 100%;
height: 300px;
overflow: hidden;
position: relative;
}
.warp {
height: 300px;
position: absolute;
}
.warp .haha {
height: 300px;
float: left;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.warp img {
width: 100%;
height: auto;
}
.nouse {
width: 100%;
position: absolute;
bottom:;
left:;
}
.point {
width: 140px;
margin: 0 auto;
}
.point > div {
width: 20px;
height: 20px;
border-radius: 50%;
background-color: white;
margin-left: 30px;
float: left;
}
.point > div:first-child {
margin-left:;
}
.nav .point .on {
background-color: red;
width: 40px;
height: 20px;
border-radius: 10px;
}
<div class="nav">
<div class="warp">
<div class="haha"><img src=""></div>
<div class="haha"><img src=""></div>
<div class="haha"><img src=""></div>
</div>
<div class="nouse">
<div class="point">
<div class="on"></div>
<div></div>
<div></div>
</div>
</div>
<script type="text/javascript">
var p = 0;
var len = $('.haha').length;
var warp = $('.warp');
var timer = null;
var firstimg = $('.warp .haha').first().clone();
$('.warp').append(firstimg).width($('.warp .haha').length * 100 + '%');
$('.warp .haha').width(100 / $('.warp .haha').length + '%');
var isMoved;
//自动切换
function change() {
p++;
if (p == $('.warp .haha').length) {
p = 1;
$('.warp').css('left', '0px');
}
;
warp.stop().animate({left: -p * 100 + '%'}, 1000, function () {
console.log(p);
if (p == $('.warp .haha').length - 1) {
$('.point div').eq(p - $('.warp .haha').length + 1).addClass("on").siblings("div").removeClass("on");
} else {
$('.point div').eq(p).addClass("on").siblings("div").removeClass("on");
}
});
}
// timer = setInterval(change, 2300);
$(".point div").click(function () {
clearInterval(timer);
$(this).addClass("on").siblings("div").removeClass("on");
p = $(this).index();
warp.stop().animate({left: -p * 100 + '%'}, 1000,function () {
// timer = setInterval(change, 2300);
}) ;
})
var pageX,pageY;
$('.warp').on('touchstart',function (e) {
var touches = e.originalEvent.targetTouches[0];
pageX = touches.pageX;
pageY = touches.pageY;
}).on('touchmove',function (e) {
var touches = e.originalEvent.targetTouches[0];
if(touches.pageX>pageX-20 && Math.abs(touches.pageY-pageY)<Math.abs(touches.pageX-pageX)){
if (isMoved){
return '';
}
isMoved=true
clearInterval(timer);
$(this).addClass("on").siblings("div").removeClass("on");
p--;
if (p<0){
warp.css({left: -(len)*100+"%"});
p=len-1;
$(".point div").removeClass('on').eq(p).addClass('on')
} else {
$(".point div").removeClass('on').eq(p).addClass('on')
}
console.log(p)
warp.stop().animate({left: -p * 100 + '%'}, 1000,function () {
// timer = setInterval(change, 2300);
isMoved=false;
}) ;
}
else if(touches.pageX<pageX+20 && Math.abs(touches.pageY-pageY)<Math.abs(touches.pageX-pageX)){
if (isMoved){
return '';
}
isMoved=true
clearInterval(timer);
$(this).addClass("on").siblings("div").removeClass("on");
p++;
if (p>len){
warp.css({left: 0+"%"});
p=1;
$(".point div").removeClass('on').eq(p).addClass('on')
}else {
console.log(p>=len?0:p)
$(".point div").removeClass('on').eq(p>=len?0:p).addClass('on')
}
console.log(p)
warp.stop().animate({left: -p * 100 + '%'}, 1000,function () {
// timer = setInterval(change, 2300);
isMoved=false;
}) ;
}
})
var x,y;
$(document).mousedown(function(event){ //获取鼠标按下的位置
x = event.pageX;
y = event.pageY;
});
$(document).mouseup(function(event){//鼠标释放
var newX = event.pageX;
var newY = event.pageY;
if(x<newX-20 && Math.abs(y-newY)<Math.abs(x-newX)){
if (isMoved){
return '';
}
isMoved=true
clearInterval(timer);
$(this).addClass("on").siblings("div").removeClass("on");
p--;
if (p<0){
warp.css({left: -(len)*100+"%"});
p=len-1;
$(".point div").removeClass('on').eq(p).addClass('on')
} else {
$(".point div").removeClass('on').eq(p).addClass('on')
}
console.log(p)
warp.stop().animate({left: -p * 100 + '%'}, 1000,function () {
// timer = setInterval(change, 2300);
isMoved=false;
}) ;
}
else if(x>newX+20 && Math.abs(y-newY)<Math.abs(x-newX)){
if (isMoved){
return '';
}
isMoved=true
clearInterval(timer);
$(this).addClass("on").siblings("div").removeClass("on");
p++;
if (p>len){
warp.css({left: 0+"%"});
p=1;
$(".point div").removeClass('on').eq(p).addClass('on')
}else {
$(".point div").removeClass('on').eq(p>=len?0:p).addClass('on')
}
console.log(p)
warp.stop().animate({left: -p * 100 + '%'}, 1000,function () {
// timer = setInterval(change, 2300);
isMoved=false;
}) ;
}
})
$('img').on('mousedown',function (e) {
e.preventDefault()
})

最后别忘记引入jq奥

pc端移动端兼容的大图轮播的更多相关文章

  1. CSS3常用属性(边框、背景、文本效果、2D转换、3D转换、过渡、有过渡效果大图轮播、动画)

    CSS3边框: 1.CSS3圆角:border-radius  属性--创建边框线的圆角 <body style="font-size:24px; color:#60F;"& ...

  2. [DBW]大图轮播,可通过两种方法实现

    通过在div中加入表格,实现大图轮播,代码如下: 整体的思路: 1.在div中嵌入表格,设置div的宽和高,设置成图片大小,确定其位置,将图片插入表格,超出div部分隐藏 2.在js中定义一个变量接受 ...

  3. 利用JS做网页特效——大图轮播

    大图轮播完整流程代码操作: <style>            * {                margin: 0px;                padding: 0px;  ...

  4. bootstrap大图轮播手机端不能手指滑动解决办法

    网上看了很多解决办法,几乎本质都是一样的,都是引入一个滑动的js插件,加入一段js代码,即可生效,但是我试了hammer.js 和 touchSwipe.js 都不生效,也找不到原因是什么,目前在网上 ...

  5. 关于移动端使用swiper做图片文字轮播的思考

    最近做移动端网页的时候,需要在首页添加一个公告的模块,用来轮播公告消息标题并且能链接到相应的详情页面,最开始用的是swiper插件,在安卓上测试完全没有问题,但是在苹果机上就没有那么灵敏了,来回切换首 ...

  6. JQUERY写大图轮播;附jquery的hover()方法、animate()方法、find()方法

    思想:黑框设置超出部分隐藏. 红框往左移动,通过判断红框左边框距离黑框左边框的像素值,来实现红框的移动. 绿框在最上层,放每张图片的说明和序号. 一:html部分(大框.图片部分.箭头部分.图片介绍部 ...

  7. 纯原生JS大图轮播

    CSS部分: CSS: <style type="text/css"> #banner { position: relative; width: 500px; heig ...

  8. jQuery实现大图轮播

    css样式: *{    margin: 0;    padding: 0;}ul{    list-style:none;}.slideShow{    width: 620px;    heigh ...

  9. 拖拽大图轮播pc 移动兼容

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. 洛谷 - P1801 - 黑匣子 - 对顶堆

    这道题是提高+省选-的难度,做出来的话对数据结构题目的理解会增加很多. 可以使用一种叫做对顶堆的东西,对顶堆是在线维护第n小的logn的算法.大概的思路是,假如我们要找的是第n小,我们就维护一个大小为 ...

  2. bzoj 1082: [SCOI2005]栅栏【二分+dfs】

    二分答案,dfs判断是否可行,当b[k]==b[k-1]时可以剪枝也就是后移枚举位置 #include<iostream> #include<cstdio> #include& ...

  3. iOS 优雅地隐藏导航栏NavigationBar (Objc)

    @interface FSViewController () <UINavigationControllerDelegate> @end @implementation FSViewCon ...

  4. 记忆化搜索(DFS+DP) URAL 1223 Chernobyl’ Eagle on a Roof

    题目传送门 /* 记忆化搜索(DFS+DP):dp[x][y] 表示x个蛋,在y楼扔后所需要的实验次数 ans = min (ans, max (dp[x][y-i], dp[x-1][i-1]) + ...

  5. 题解报告:poj 1738 An old Stone Game(区间dp)

    Description There is an old stone game.At the beginning of the game the player picks n(1<=n<=5 ...

  6. 477 Total Hamming Distance 汉明距离总和

    两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量.计算一个数组中,任意两个数之间汉明距离的总和.示例:输入: 4, 14, 2输出: 6解释: 在二进制表示中,4表示为0100,14表 ...

  7. jQuery将json字符串显示在页面上

    js代码: function syntaxHighlight(json) { if (typeof json != 'string') { json = JSON.stringify(json, un ...

  8. Java断点续传(基于socket与RandomAccessFile的简单实现)

    Java断点续传(基于socket与RandomAccessFile的简单实现) 这是一个简单的C/S架构,基本实现思路是将服务器注册至某个空闲端口用来监视并处理每个客户端的传输请求. 客户端先获得用 ...

  9. Activity的创建、生命周期

    Activity是Android四大组件之一.一个Activity负责管理一个界面. 创建一个Activity: New -> Activity -> 选择要创建的Activity类型(一 ...

  10. 作用域链、this细说

    一.作用域链 作用域:浏览器给js的一个生存环境(栈内存) 作用域链:js中的关键字var和function 都可以提前声明和定义,提前声明和定义的放在我们的内存地址(堆内存)中.然后js从上到下逐行 ...