pc端移动端兼容的大图轮播(代码片段)

chen527 chen527     2022-12-28     595

关键词:

   body, html 
            width: 100%;
        
        * 
            margin: 0;
            padding: 0;
            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: 0;
            left: 0;
        
        .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: 0;
        
        .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端网页特效(代码片段)

文章目录移动端网页特效触屏事件classList属性常用开发插件PC端网页特效偏移量系列offset可视区系列client滚动系列scroll动画原理移动端网页特效触屏事件移动端浏览器兼容性较好,不需要考虑以前JS的兼容性问题,可以放... 查看详情

移动端和pc端的区别有哪些?(代码片段)

提示:移动端和pc端的区别:1.PC考虑的是浏览器的兼容性,而移动端开发考虑的更多的是手机兼容性,因为目前不管是android手机还是ios手机,一般浏览器使用的都是webkit内核,所以说做移动端开发,更... 查看详情

移动端开发的注意事项(代码片段)

PC端与移动端的区别1.从兼容方面来说,PC考虑的是浏览器的兼容性,而移动端开发考虑的更多的是手机兼容性,因为目前不管是android手机还是ios手机,一般浏览器使用的都是webkit内核。2.在部分事件的处理上,移动端多出来的事... 查看详情

flex布局详解(代码片段)

...布局:(1)兼容性好(2)布局繁琐(3)局限性,不能在移动端很好的布局flex布局:(1)操作方便,布局极为简单,移动端应用广泛(2)pc端浏览器支持情况较差(3)IE11或更低版本,不支持或仅部分支持建议:(1)pc端页面... 查看详情

使用swiper轮播引起的探索(代码片段)

...per轮播插件,小伙伴们应该不会感到陌生。以前我主要在移动端上使用,PC端使用较少。  注:这里需要注意的是,在PC端和移动端使用Swiper是不同的   官方给的版本有三个,分别是Swiper2,Swiper3,Swiper4  Swiper2官网:h... 查看详情

移动端旋转木马轮播图可触摸滑动(代码片段)

Swiper3d软件架构cssjs使用说明介绍支持pc、移动端pc左右箭头控制移动端左右滑动兼容性ie>=10其他主流浏览器都支持使用文档:<!--css--><linkrel="stylesheet"href="../css/3dSwiper.css"><!--html--><divclass="swiper-... 查看详情

0199移动端之轮播图(代码片段)

1.2.1案例:移动轮播图移动端轮播图功能和基本PC端一致。可以自动播放图片手指可以拖动播放轮播图1.2.2案例分析自动播放功能开启定时器移动端移动,可以使用translate移动想要图片优雅的移动,请添加过渡效果自动播放功能-无... 查看详情

flex布局(代码片段)

...与flex布局传统布局兼容性好布局繁琐局限性,不能再移动端很好的布局flex弹性布局操作方便,布局极为简单,移动端应用很广泛PC端浏览器支持情况较差IE11或更低版本,不支持或仅部分支持建议︰如果是PC端页面... 查看详情

pc端网页,移动端网页(andoridios)离开页面做一个时间存储(代码片段)

...的事件是: //window.onbeforeunload=function()。。。但是ios移动端是没有任何反应的,也就是不兼容。第二次我用的是: window.addEventListener(‘pagehi 查看详情

移动web开发之flex布局(代码片段)

...与flex布局传统布局兼容性好布局繁琐局限性,不能再移动端很好的布局flex弹性布局操作方便,布局极为简单,移动端应用很广泛PC端浏览器支持情况较差IE11或更低版本,不支持或仅部分支持建议:1.如果是PC... 查看详情

移动web开发之flex布局(代码片段)

...与flex布局传统布局兼容性好布局繁琐局限性,不能再移动端很好的布局flex弹性布局操作方便,布局极为简单,移动端应用很广泛PC端浏览器支持情况较差IE11或更低版本,不支持或仅部分支持建议:1.如果是PC... 查看详情

10-移动端开发教程-移动端事件(代码片段)

在前端的移动Web开发中,有一部分事件只在移动端产生,如触摸相关的事件。接下来给大家简单总结一下移动端的事件。1.PC端事件在移动端的兼容问题1.1click事件的200~300ms延迟问题由于移动端默认的布局视口宽度是980像素,所以... 查看详情

移动端滑屏全应用滑屏封装注意事项与移动端轮播(代码片段)

移动端滑屏封装注意事项:1.touchMove时候方向判断(可以控制在以x轴位中心正负15度之内为横向滑屏,纵向滑屏同理)2.上下滑屏与左右滑屏的冲突(判断用户滑动方向后,只做单方向的处理)3.安卓触摸(例如某个人手指很粗)触发to... 查看详情

移动端bug兼容(代码片段)

总结一下目前的移动端开发遇到的问题。1、IOS与安卓input默认样式去除。移动端总有一个默认的圆角或别的。input[type=button],input[type=text],input[type=password]-webkit-appearance:none;outline:none;border-radius:none;2、IOS后退无刷新使用onpageshow主动... 查看详情

移动端300ms兼容问题(移动端经典问题)(代码片段)

移动端300ms延迟原因2007年初。苹果公司在发布首款iPhone前夕,遇到一个问题:当时的网站都是为大屏幕设备所设计的。于是苹果的工程师们做了一些约定,应对iPhone这种小屏幕浏览桌面端站点的问题。双击缩放(doubletaptozoom),这... 查看详情

h5案例分享:移动端滑屏touch事件(代码片段)

移动端触屏滑动的效果的效果在电子设备上已经被应用的越来越广泛,类似于PC端的图片轮播,但是在移动设备上,要实现这种轮播的效果,就需要用到核心的touch事件。处理touch事件能跟踪到屏幕滑动的每根手指。以下是四种tou... 查看详情

移动端也能兼容的web页面制作2:导航栏背景图片设置(代码片段)

...气的界面效果,友好的交互体验,更棒的是对于移动端也有很好的兼容性。先给大家看下演示demo的运行,后面将围绕项目的制作过程,依次来展示导航栏、图片轮播图、表格、数据库交互等各方面的详细实现过程... 查看详情

js实现一个可以兼容pc端和移动端的div拖动效果(代码片段)

...要一个相差不多的需求,就正好用上了,但是在移动端的时候却碰到了问题,拖动时候用到的三个事件:mousedown、mousemove、mouseup在移动端都不起任何作用。毕竟移动端是没有鼠标的,查资料后发现,在移... 查看详情