• 分享一个自已写的仿iphone手机滑动效果的JS代码....


    本来打算得个闲写一个纯手机端效果的展示性网站.觉得挺酷的....

    .......看来最近是木有时间了...下面的代码也只是开了个头....有兴趣的童鞋可以和我联系一起搞.....

    现在只做了一个滑动的效果...还是点击后切换的效果和关闭的效果没做...当然了..还包括后台的数据交互.........and so on............hoho....

    jquery.js链的是远程的url,以前做的一个项目,南京医药公司的........占个小小的请求...南京医药应该不会有意见吧  嘎嘎.....(建议down下代码后还是链本地的吧..不道德啊... : )

    <!DOCTYPE html>
    <html>
    <head>
    <meta  charset="utf-8" />
    <title>index</title>
    
    <style>
    * {margin:0; padding:0}
    html, body { overflow:hidden; }
    .base-con {
    	top:0;
    	position:absolute;
    	border:2px solid #ccc;
    }
    
    .cont {
    	1000px;
    	height:400px;
    	margin:0 auto;
    	position:absolute;
    	top:50%;
    	left:50%;
    	margin-top:-200px;
    	margin-left:-500px;
    }
    
    .page1 ul li {
    	212px;
    	height:132px;
    	background-color:green;
    	border-radius:5px;
    	float:left;
    	margin:35px 19px;
    	padding:0;
    	color:#000;
    }
    
    .page2 ul li {
    	212px;
    	height:132px;
    	background-color:blue;
    	border-radius:5px;
    	float:left;
    	margin:35px 19px;
    	padding:0;
    	color:#000;
    }
    
    
    .page3 ul li {
    	212px;
    	height:132px;
    	background-color:red;
    	border-radius:5px;
    	float:left;
    	margin:35px 19px;
    	padding:0;
    	color:#000;
    }
    
    
    .rootContainer {
    	position:absolute;	
    }
    
    .quene {
    	position:absolute;
    	text-align:center;
    	bottom:100px;
    	padding:5px;
    	border:1px;
    	100%;
    }
    </style>
    <script src="http://style.cggol.com/js/jquery.min.js"></script>
    <script>
    	//disabled right mouse..
    	 function disRightMouse()
    	 {
    		 $(document).bind("contextmenu",function(e){   
    				 return false;   
    		  });
    	 }
    	 disRightMouse();
    </script>
    </head>
    <body>
    	<div class="debug" style="padding-left:30px;">wating...........</div>
        <div class="rootContainer">
            <div class="base-con pos1" style="border:2px solid red">
                 <div class="cont page1">
                    <ul>
                        <li>page1</li>
                        <li>page2</li>
                        <li>page3</li>
                        <li>page4</li>
                        <li>page5</li>
                        <li>page6</li>
                        <li>page7</li>
                        <li>page8</li>
                    </ul>
                </div>
            </div>
            <div class="base-con pos2" style="border:2px solid blue">
             <div class="cont page2">
                    <ul>
                        <li>page1</li>
                        <li>page2</li>
                        <li>page3</li>
                        <li>page4</li>
                        <li>page5</li>
                        <li>page6</li>
                        <li>page7</li>
                        <li>page8</li>
                    </ul>
                </div> 
            </div>
            <div class="base-con pos3" style="border:2px solid green">
             <div class="cont page3">
                <ul>
                    <li>page1</li>
                    <li>page2</li>
                    <li>page3</li>
                    <li>page4</li>
                    <li>page5</li>
                    <li>page6</li>
                    <li>page7</li>
                    <li>page8</li>
                </ul>
             </div>
            </div>
        </div>
    
    <!--
    ############# 初使化的时候..当前页小图加载完后,,,ready事件中加载当前页对应的大图
    ############# 显示对象的容器宽高度写死.然后让它自适应每一个浏览器的显示分辨率,页面每次的滚动都是显示器的分辨的宽为基调212x132
    ############# 初使化3个容器.....一个可见..一个等待滑动.....当进行滑动后...ajax从后面取第3个容器的数据..并初使化..等待用户滑动进行..依次类推..
    ############# 始终保持3个容器等待状态
    ############# 后台返回一个json格式的数据...前台进行解析渲染
    ############# 前台根据滑动的索引来决定容器加载那些数据, 后台对数据进行分页,,,
    ############# 当前页的小图标加载完成后,,
    ############# 当滑动到当前页时...将加载对应的大图,用户点击时..不需要再次加载........
    -->
    
    <script>
    
    	//高度自适应..宽度为显示器宽,设置容器的大小和位置
    	
    	function initContainer()
    	{
    		 window.winWidth = window.screen.width;
    		var conList = $(".base-con");
    		conList.css("width", winWidth);
    		conList.css("height", "500px");
    		var conLen = conList.length;
    		for( var i = 0; i <conLen;i++) {
    			var con = conList.eq(i);
    			con.css("left", (i-1) * winWidth + "px");
    		}
    		
    	}
    	initContainer();
    
    	$(document).ready(function(){
    							   
    			/**
    			*拖动事件
    			*/
    			var startX, startY;
    			var basePoint = 0; 
    			var stargDis;
    			var distance;
    			var maxDistance = 300;
    			var rootContainer = $(".rootContainer");;	
    			var doc = $(document);	
    			var debug = $(".debug");
    			var animateSpeed = 500;
    			var recoverSpeed = 100;
    			
    			doc.mousedown(function(event){debug.text("mouse...down...")	   
    				startX = event.screenX;						 
    				doc.bind("mousemove", moveHandler);	
    				startX = event.screenX;
    			});
    			
    			doc.mouseup(function(){ debug.text("mouse...up...");								   
    			if(distance <maxDistance)
    			{
    				recoverPosition(distance);
    			}
    				doc.unbind("mousemove");			
    			});
    			
    			function moveHandler(event)
    			{
    				debug.text(event.screenX + "===" +  event.screenY);
    				distance = event.screenX - startX
    				movePanel(distance);
    				if(event.screenX - startX > maxDistance){
    					doc.unbind("mousemove");	
    					slideRight();
    					return;
    				}
    				if (event.screenX - startX < -maxDistance) {
    					doc.unbind("mousemove");	
    					slideLeft();	
    					return;
    				}
    			}
    			
    			function recoverPosition(dis)
    			{
    				if(dis<0)
    				{
    					rootContainer.animate({ 
    					left: basePoint 
    			 	 }, recoverSpeed )
    					
    				} else {
    					rootContainer.animate({ 
    					left: basePoint 
    			 	 }, recoverSpeed );
    				}
    				dis = 0;
    			}
    			
    			function movePanel(distance)
    			{
    				rootContainer.css("left", basePoint+distance)
    			}
    			
    			
    			
    			function slideRight()
    			{
    				rootContainer.animate({ 
    				left: basePoint+=winWidth 
    			 	 }, animateSpeed );
    			}
    			
    			function slideLeft()
    			{				  
    				rootContainer.animate({ 
    				left: basePoint-=winWidth 
    			 	 }, animateSpeed );
    			}				   
    	 })
    </script>
    <div class="quene">
    1======== 2====== 3
    </div>
    </body>
    </html>
    

      

  • 相关阅读:
    CF1132G
    CF1129B
    CF1131G
    CF1109D
    CF1110H
    CF1106F
    my.cnf 配置
    mysql 导入导出
    mysql 批量删除表数据
    国内开源镜像站
  • 原文地址:https://www.cnblogs.com/playerlife/p/2701251.html
Copyright © 2020-2023  润新知