`
李俊良
  • 浏览: 143829 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js 移动前端,手动滚动效果

 
阅读更多
<!doctype html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta id="viewport" name="viewport" content="width=device-width,initial-scale=0.5,maximum-scale=0.5,user-scalable=no"/>
<meta name=”apple-mobile-web-app-capable” content=”yes” /> 
<meta name=”apple-mobile-web-app-status-bar-style” content=black” />  
<meta content="black" name="apple-mobile-web-app-status-bar-style" />    
<meta content="telephone=no" name="format-detection" />     
<meta name="Author" contect="Mr.He"/ >  
<style>
html,body{width:100%;height:100%;margin:0;padding:0;}
section{overflow:hidden;}
section > div{display:-webkit-box;}
section > div > div{height:200px;width:100%;}
#drag{
	-webkit-transition-property:-webkit-transform;
	-webkit-transition-duration:0.5s;
	-webkit-transition-timing-function:cubic-bezier;
	-webkit-transform:translate(0,0);
}
</style>
</head>
<body>
<section>
<div id="drag">
<div style="background:red;"></div>
<div style="background:blue;"></div>
<div style="background:green;"></div>
<div style="background:yellow;"></div>
<div style="background:gray;"></div>
</div>
</section>
<script>
function $(id){return document.getElementById(id)};
var dragElem = $("drag");
var startPos = {x:null,y:null};
var touching = false;
var disX = 0;
var tx = 0;
function touchstart(event){
	event.preventDefault();
	startPos.x = event.touches[0].pageX;
	startPos.y = event.clientY;
	touching = true;
}
function touchmove(event){
	event.preventDefault();
	if(touching){
		disX = event.touches[0].pageX - startPos.x;
		dragElem.style.webkitTransitionProperty = "";
		dragElem.style.webkitTransitionDuration =  "0s";
		dragElem.style.webkitTransform = "translate("+(640*tx+disX)+"px, 0)";
	}
}
function touchend(){
	touching = false;
	dragElem.style.webkitTransitionProperty = "-webkit-transform";
	dragElem.style.webkitTransitionDuration =  "0.5s";
	alert(disX);
	if(tx == -4 && disX < 0){
		dragElem.style.webkitTransform = "translate("+640*tx+"px, 0)";
		return;
	}else if(tx == 0 && disX > 0){
		dragElem.style.webkitTransform = "translate("+640*tx+"px, 0)";
		return;
	}else if(disX > 320){
		tx++;
		dragElem.style.webkitTransform = "translate("+640*tx+"px, 0)";
	}else if(disX < -320){
		tx--;
		dragElem.style.webkitTransform = "translate("+640*tx+"px, 0)";
	}else{
		dragElem.style.webkitTransform = "translate("+640*tx+"px, 0)";
	}
	disX = 0;
}
dragElem.addEventListener("touchstart",touchstart,false);
dragElem.addEventListener("touchmove",touchmove,false);
dragElem.addEventListener("touchend",touchend,false);
dragElem.addEventListener("touchcancel",touchend,false);
</script>
</body>
</html>

 

分享到:
评论

相关推荐

    js大图无缝滚动效果

    JavaScript(简称JS)是一种轻量级的脚本...总之,JavaScript无缝大图滚动效果的实现涉及到HTML布局、CSS样式控制以及JavaScript动画原理,是前端开发中的基础技能之一,对于提升网页的互动性和用户体验具有重要意义。

    web前端自动滚动且点击切换轮播图代码

    轮播图的核心是通过定时器(通常使用JavaScript的`setInterval`函数)控制图片的显示顺序,当到达最后一张时,会循环回第一张,形成连续滚动的效果。同时,添加点击事件监听器,使得用户可以手动切换图片。 2. **...

    JS不间断向上滚动.rar

    在实际开发中,需要注意滚动效果的用户体验,如滚动速度的控制、是否提供暂停和恢复功能,以及在移动设备上的适配等。此外,如果要实现更复杂的效果,比如带有缓动函数的滚动动画,可以使用现有的库和框架,如...

    6种基于js Scrolling的滚动面板

    "6种基于js Scrolling的滚动面板"是一个主题,它涵盖了使用JavaScript实现的多种滚动效果,这些效果可以增强用户体验,使网页更加生动和吸引人。下面我们将深入探讨这六个滚动面板的知识点。 1. **纯JavaScript滚动...

    JS三图横向滚动代码

    JavaScript(简称JS)是一种轻量级的解释型编程语言,广泛应用于网页和网络应用开发,尤其是前端领域。在网页设计中,实现图片的横向滚动效果是常见的交互功能,能够提升用户体验,使页面更加生动有趣。"JS三图横向...

    js左右滚动代码

    对于希望在网页上添加动态滚动效果的前端开发者而言,这段代码提供了一个很好的参考模板。通过学习和理解这段代码,开发者可以更好地掌握JavaScript中的事件处理、定时器使用以及DOM操作等关键技能,进一步提升网页...

    图片滚动效果

    在网页设计和开发中,图片...总之,图片滚动效果是网页设计中不可或缺的一部分,通过运用各种前端技术和工具,我们可以创造出丰富多彩的视觉体验。理解并掌握这些技术,对于提升网站的吸引力和用户满意度具有重要意义。

    JS前端特效

    在前端开发领域,JavaScript(JS)是不可或缺的一部分,它赋予网页动态性和交互性。本话题主要探讨使用JS实现的各种前端特效,包括相册效果、服装网站首页效果和放大镜效果等。这些特效为用户提供了丰富的视觉体验,...

    可控制图片滚动效果jquery

    标题“可控制图片滚动效果jquery”指出,我们要讨论的是使用jQuery来实现一种可控制的图片滚动效果。这种效果通常用于展示多张图片,如轮播图或幻灯片,使得用户可以通过点击按钮或者自动播放来浏览图片。 jQuery ...

    自动滚动点击滚动的JS特效

    4. **事件监听与处理**:为每个链接添加`onclick`事件监听器,当用户点击时,根据所选链接的ID更新图片源和提示文本,实现手动滚动效果。同时,通过事件阻止默认行为,确保点击不会触发页面跳转。 #### 实现难点与...

    jQuery左右图片自动滚动特效.zip

    在网页设计中,图片滚动效果常常被用于展示产品或服务,为用户带来更丰富的视觉体验。"jQuery左右图片自动滚动特效"是一个利用jQuery库实现的动态图片展示功能,它允许图片以自动化的方式左右滚动,为网站增添动感和...

    js无缝滚动制作js文字无缝滚动和js图片无缝滚动

    - **定时器(setTimeout或setInterval)**:利用JS的定时器函数,周期性地改变内容的位置,模拟滚动效果。 - **CSS定位(position属性)**:通过修改元素的`top`、`left`等定位属性,实现元素的移动。 3. **文字...

    js横向滚动

    在本项目中,"js横向滚动"是指利用JavaScript技术实现文字或内容在水平方向上的自动滚动效果,这种效果常见于网站的新闻滚动条或者公告栏中。使用JavaScript进行横向滚动,可以增加网页的动态感,提升用户体验。 在...

    JS各种实例web前端

    JavaScript(简称JS)是Web前端开发中的核心技术,用于实现网页的动态效果和交互。这个"JS各种实例web前端"的压缩包文件包含了多种常见的JS特效,对于初学者和开发者来说,是一个宝贵的资源库。下面将详细讲解这些...

    1500个前端开发常用JavaScript特效.rar

    11. **滚动效果**:例如固定头部、滚动到顶部按钮等,JavaScript可以监听滚动事件并执行相应操作。 12. **地理定位**:通过navigator.geolocation API获取用户的位置信息,为本地服务提供支持。 13. **Web存储**:...

    可以无限手动滑动和自动滚动的轮播图

    总之,“可以无限手动滑动和自动滚动的轮播图”是一个涉及HTML、CSS和JavaScript的综合项目,需要开发者具备良好的前端基础和用户体验意识。在实际开发过程中,还需考虑性能优化、兼容性和可维护性等因素,以创建出...

    js、jquery图片滚动特效

    本篇文章将深入探讨这两个组件——dopelessRotate和iviewer-0.7.11,以及它们如何实现图片滚动效果。 首先,JavaScript是Web开发中的基础脚本语言,它允许开发者创建交互式的网页。在图片滚动特效中,JavaScript...

    7个异常精美的Web前端动画效果的实现(五)

    这需要用到HTML5的`&lt;a&gt;`标签的`scroll-behavior`属性,以及可能的JavaScript辅助,如jQuery的`.animate()`函数,来实现自定义的平滑滚动效果。 6. **下拉菜单**: 下拉菜单常用于复杂导航系统,通过悬停触发显示子...

    js.rar_无缝滚动

    标题中的"js.rar_无缝滚动"表明我们将探讨一个使用JavaScript实现的无缝滚动解决方案,而描述中的"带控制按钮的无缝滚动"进一步说明这个解决方案还包括手动控制滚动的按钮,使得用户可以根据需求自由切换滚动状态。...

    图片左右无缝滚动JS代码

    在网页设计中,图片滚动效果是一种常见的动态展示方式,可以吸引用户的注意力并提供视觉上的吸引力。"图片左右无缝滚动JS代码"是指使用JavaScript编程语言实现的一种特效,它允许图片在水平方向上连续、平滑地滚动,...

Global site tag (gtag.js) - Google Analytics