当前位置: 首页 > news >正文

个人设计网站论文摘要让顾客进店的100条方法

个人设计网站论文摘要,让顾客进店的100条方法,百度宣传做网站多少钱,论坛模板建站需求描述 需要实现类似QQ中对联系人的操作#xff1a;向左滑动#xff0c;滑出删除按钮。滑动超过一半时松开则自动滑到底#xff0c;不到一半时松开则返回原处。 纯js实现 使用了h5的touchmove等事件#xff0c;以及用js动态改变css3的translate属性来达到动画效果#x…需求描述 需要实现类似QQ中对联系人的操作向左滑动滑出删除按钮。滑动超过一半时松开则自动滑到底不到一半时松开则返回原处。   纯js实现 使用了h5的touchmove等事件以及用js动态改变css3的translate属性来达到动画效果 !DOCTYPE html html langenheadmeta charsetUTF-8meta nameviewport idviewport contentwidthdevice-width, initial-scale1titlehtml5向左滑动删除特效/titlestyle* {padding: 0;margin: 0;list-style: none;}header {background: #f7483b;border-bottom: 1px solid #ccc}header h2 {text-align: center;line-height: 54px;font-size: 16px;color: #fff}.list-ul {overflow: hidden}.list-li {line-height: 60px;border-bottom: 1px solid #fcfcfc;position: relative;padding: 0 12px;color: #666;background: #f2f2f2;-webkit-transform: translateX(0px);}.btn {position: absolute;top: 0;right: -80px;text-align: center;background: #ffcb20;color: #fff;width: 80px}/stylescript/** 描述html5苹果手机向左滑动删除特效*/window.addEventListener(load, function() {var initX; //触摸位置var moveX; //滑动时的位置var X 0; //移动距离var objX 0; //目标对象位置window.addEventListener(touchstart, function(event) {event.preventDefault();var obj event.target.parentNode;if (obj.className list-li) {initX event.targetTouches[0].pageX;objX (obj.style.WebkitTransform.replace(/translateX\(/g, ).replace(/px\)/g, )) * 1;}if (objX 0) {window.addEventListener(touchmove, function(event) {event.preventDefault();var obj event.target.parentNode;if (obj.className list-li) {moveX event.targetTouches[0].pageX;X moveX - initX;if (X 0) {obj.style.WebkitTransform translateX( 0 px);} else if (X 0) {var l Math.abs(X);obj.style.WebkitTransform translateX( -l px);if (l 80) {l 80;obj.style.WebkitTransform translateX( -l px);}}}});} else if (objX 0) {window.addEventListener(touchmove, function(event) {event.preventDefault();var obj event.target.parentNode;if (obj.className list-li) {moveX event.targetTouches[0].pageX;X moveX - initX;if (X 0) {var r -80 Math.abs(X);obj.style.WebkitTransform translateX( r px);if (r 0) {r 0;obj.style.WebkitTransform translateX( r px);}} else { //向左滑动obj.style.WebkitTransform translateX( -80 px);}}});}})window.addEventListener(touchend, function(event) {event.preventDefault();var obj event.target.parentNode;if (obj.className list-li) {objX (obj.style.WebkitTransform.replace(/translateX\(/g, ).replace(/px\)/g, )) * 1;if (objX -40) {obj.style.WebkitTransform translateX( 0 px);objX 0;} else {obj.style.WebkitTransform translateX( -80 px);objX -80;}}})})/script /headbodyheaderh2消息列表/h2/headersection classlistul classlist-ulli idli classlist-lidiv classcon你的快递到了请到楼下签收/divdiv classbtn删除/div/lili classlist-lidiv classcon哇你在干嘛快点来啊就等你了/divdiv classbtn删除/div/li/ul/section /body/html     做成zepto插件 实际项目中我们可能有很多个地方会用到这个功能。现在我们将这个功能做成zepto插件方便后面使用。 这个插件我们仅实现这个功能然后传入参数删除按钮的样式名让程序在js中计算所需要滑动的距离方便复用。 zepto.touchWipe.js 1 /**2 * zepto插件向左滑动删除动效3 * 使用方法$(.itemWipe).touchWipe({itemDelete: .item-delete});4 * 参数itemDelete 删除按钮的样式名5 */6 ;7 (function($) {8 $.fn.touchWipe function(option) {9 var defaults { 10 itemDelete: .item-delete, //删除元素 11 }; 12 var opts $.extend({}, defaults, option); //配置选项 13 14 var delWidth $(opts.itemDelete).width(); 15 16 var initX; //触摸位置 17 var moveX; //滑动时的位置 18 var X 0; //移动距离 19 var objX 0; //目标对象位置 20 $(this).on(touchstart, function(event) { 21 event.preventDefault(); 22 var obj this; 23 initX event.targetTouches[0].pageX; 24 objX (obj.style.WebkitTransform.replace(/translateX\(/g, ).replace(/px\)/g, )) * 1; 25 if (objX 0) { 26 $(this).on(touchmove, function(event) { 27 event.preventDefault(); 28 var obj this; 29 moveX event.targetTouches[0].pageX; 30 X moveX - initX; 31 if (X 0) { 32 obj.style.WebkitTransform translateX( 0 px); 33 } else if (X 0) { 34 var l Math.abs(X); 35 obj.style.WebkitTransform translateX( -l px); 36 if (l delWidth) { 37 l delWidth; 38 obj.style.WebkitTransform translateX( -l px); 39 } 40 } 41 }); 42 } else if (objX 0) { 43 $(this).on(touchmove, function(event) { 44 event.preventDefault(); 45 var obj this; 46 moveX event.targetTouches[0].pageX; 47 X moveX - initX; 48 if (X 0) { 49 var r -delWidth Math.abs(X); 50 obj.style.WebkitTransform translateX( r px); 51 if (r 0) { 52 r 0; 53 obj.style.WebkitTransform translateX( r px); 54 } 55 } else { //向左滑动 56 obj.style.WebkitTransform translateX( -delWidth px); 57 } 58 }); 59 } 60 61 }) 62 $(this).on(touchend, function(event) { 63 event.preventDefault(); 64 var obj this; 65 objX (obj.style.WebkitTransform.replace(/translateX\(/g, ).replace(/px\)/g, )) * 1; 66 if (objX -delWidth / 2) { 67 obj.style.transition all 0.2s; 68 obj.style.WebkitTransform translateX( 0 px); 69 obj.style.transition all 0; 70 objX 0; 71 } else { 72 obj.style.transition all 0.2s; 73 obj.style.WebkitTransform translateX( -delWidth px); 74 obj.style.transition all 0; 75 objX -delWidth; 76 } 77 }) 78 79 //链式返回 80 return this; 81 }; 82 83 })(Zepto);   touchWipe.html 1 !DOCTYPE html2 html langen3 head4 meta charsetUTF-85 meta nameviewport idviewport contentwidthdevice-width, initial-scale16 titlehtml5向左滑动删除特效/title7 8 style9 *{ padding:0; margin:0; list-style: none;} 10 header{ background: #f7483b; border-bottom: 1px solid #ccc} 11 header h2{ text-align: center; line-height: 54px; font-size: 16px; color: #fff} 12 .list-ul{ overflow: hidden} 13 .list-li{ line-height: 60px; border-bottom: 1px solid #fcfcfc; position:relative;padding: 0 12px; color: #666; 14 background: #f2f2f2; 15 -webkit-transform: translateX(0px); 16 } 17 .btn{ position: absolute; top: 0; right: -80px; text-align: center; background: #ffcb20; color: #fff; width: 80px} 18 /style 19 20 /head 21 body 22 header 23 h2消息列表/h2 24 /header 25 section classlist 26 ul classlist-ul 27 li idli classlist-li 28 div classcon 29 你的快递到了请到楼下签收 30 /div 31 div classbtn删除/div 32 /li 33 li classlist-li 34 div classcon 35 哇你在干嘛快点来啊就等你了 36 /div 37 div classbtn删除/div 38 /li 39 /ul 40 /section 41 42 pX: span idX/span/p 43 pobjX: span idobjX/span/p 44 pinitX: span idinitX/span/p 45 pmoveX: span idmoveX/span/p 46 47 script typetext/javascript srchttp://apps.bdimg.com/libs/zepto/1.1.4/zepto.min.js/script 48 script typetext/javascript srczepto.touchWipe.js/script 49 script typetext/javascript 50 $(function() { 51 $(.list-li).touchWipe({itemDelete: .btn}); 52 }); 53 54 /script 55 /body 56 /html   效果   实际项目中的应用效果   消除BUG 到上面一步基本实现了我们所需要的功能。但是有几个问题 1. 右边的删除按钮点击失灵因为span无法冒泡到大按钮上 2. 非常严重的问题我们给div添加了touchmove事件同时用preventDefault()屏蔽了原始的浏览器事件导致上下滑动div的时候 页面无法滚动了   第一个问题比较容易解决我们把span直接去掉将“删除”写到css中的:before里像这样 .itemWipe .item-delete:before {content: 删除;color: #fff; }   对于第二个问题网上说用iscroll来解决。我们这里参考手机QQ中对联系人的滑动操作。 大致原理在滑动最开始的时候判断是Y轴的移动多 还是 X轴的移动多。 如果是X轴移动大则判断为滑动删除操作我们再使用preventDefault();  其中我们加入一个变量flaxX来判断滑动方向会在第一次触发滑动事件时设置。 之后就可以根据滑动方向来选择是否阻止浏览器默认事件了。   修改后 zepto.touchWipe.js 1 /**2 * zepto插件向左滑动删除动效3 * 使用方法$(.itemWipe).touchWipe({itemDelete: .item-delete});4 * 参数itemDelete 删除按钮的样式名5 */6 ;7 (function($) {8 $.fn.touchWipe function(option) {9 var defaults {10 itemDelete: .item-delete, //删除元素11 };12 var opts $.extend({}, defaults, option); //配置选项13 var delWidth $(opts.itemDelete).width();14 15 var initX; //触摸位置X16 var initY; //触摸位置Y17 var moveX; //滑动时的位置X18 var moveY; //滑动时的位置Y19 var X 0; //移动距离X20 var Y 0; //移动距离Y21 var flagX 0; //是否是左右滑动 0为初始1为左右2为上下在move中设置在end中归零22 var objX 0; //目标对象位置23 24 $(this).on(touchstart, function(event) {25 console.log(start..);26 var obj this;27 initX event.targetTouches[0].pageX;28 initY event.targetTouches[0].pageY;29 console.log(initX : initY);30 objX (obj.style.WebkitTransform.replace(/translateX\(/g, ).replace(/px\)/g, )) * 1;31 console.log (objX);32 if (objX 0) {33 $(this).on(touchmove, function(event) {34 35 // 判断滑动方向X轴阻止默认事件Y轴跳出使用浏览器默认36 if (flagX 0) {37 setScrollX(event);38 return;39 } else if (flagX 1) {40 event.preventDefault();41 } else {42 return;43 }44 45 var obj this;46 moveX event.targetTouches[0].pageX;47 X moveX - initX; 48 if (X 0) {49 obj.style.WebkitTransform translateX( 0 px);50 } else if (X 0) {51 var l Math.abs(X);52 obj.style.WebkitTransform translateX( -l px);53 if (l delWidth) {54 l delWidth;55 obj.style.WebkitTransform translateX( -l px);56 }57 }58 });59 } else if (objX 0) {60 $(this).on(touchmove, function(event) {61 62 // 判断滑动方向X轴阻止默认事件Y轴跳出使用浏览器默认63 if (flagX 0) {64 setScrollX(event);65 return;66 } else if (flagX 1) {67 event.preventDefault();68 } else {69 return;70 }71 72 var obj this;73 moveX event.targetTouches[0].pageX;74 X moveX - initX;75 if (X 0) {76 var r -delWidth Math.abs(X);77 obj.style.WebkitTransform translateX( r px);78 if (r 0) {79 r 0;80 obj.style.WebkitTransform translateX( r px);81 }82 } else { //向左滑动83 obj.style.WebkitTransform translateX( -delWidth px);84 }85 });86 }87 })88 89 //结束时判断并自动滑动到底或返回90 $(this).on(touchend, function(event) { 91 var obj this;92 objX (obj.style.WebkitTransform.replace(/translateX\(/g, ).replace(/px\)/g, )) * 1;93 if (objX -delWidth / 2) {94 obj.style.transition all 0.2s;95 obj.style.WebkitTransform translateX( 0 px);96 obj.style.transition all 0;97 objX 0;98 } else {99 obj.style.transition all 0.2s; 100 obj.style.WebkitTransform translateX( -delWidth px); 101 obj.style.transition all 0; 102 objX -delWidth; 103 } 104 flagX 0; 105 }) 106 107 //设置滑动方向 108 function setScrollX(event) { 109 moveX event.targetTouches[0].pageX; 110 moveY event.targetTouches[0].pageY; 111 X moveX - initX; 112 Y moveY - initY; 113 114 if (Math.abs(X) Math.abs(Y)) { 115 flagX 1; 116 } else { 117 flagX 2; 118 } 119 return flagX; 120 } 121 122 //链式返回 123 return this; 124 }; 125 126 })(Zepto);
http://www.huolong8.cn/news/211984/

相关文章:

  • 网站后台用什么程序做长沙建筑公司排名
  • 企业网站建设好的案例wordpress运营服务费用
  • 网站做任务领q币网站后台 验证码错误
  • 上海网站代优化怎样将wordpress导出
  • 网站空间使用方法跨境电商怎么样
  • 做公益网站有什么要求栖霞建设官方网站
  • 网上建设银行网站中国住房和城乡建设网网站
  • 温州市住房和城乡建设厅网站首页dz和wordpress论坛
  • 九江企业网站的建设个人网站建设发布信息
  • 新站seo优化快速上排名自己做的网站打开超慢
  • 设计行业网站wordpress 8个安全密匙
  • 手机网站seo软件wordpress 新手教程
  • 国内免费可商用图片素材网站域名格式正确的是
  • 网站链接太多怎么做网站地图wordpress 百度主动推送
  • 上传网站需要什么软件网站代码图片
  • 电子商务成功网站的案例seo排名赚钱
  • 个人网站免费空间中国建筑网官网防水证书查询
  • 网站建设 创新网站建设毕业设计 任务书
  • 电子商务网站开发费用入账重庆企业年报网上申报入口
  • 做外贸的国际网站有哪些内容昆明网站排名优化
  • 网站的网站制作公司广州公司网站设计制作
  • 做球迷网站网件路由器推荐
  • 湖南网站建设联系电话wordpress时间代码
  • 广州专业网站设计定制网站开发需求文档模板
  • 果洛wap网站建设哪家好成都网站开发定制
  • 宽屏网站和普通网站竞价托管哪家公司好
  • 做网站需要平台网络营销论文4000字
  • 如何让客户做网站网站后台管理系统哪个好
  • 有什么做ppt的网站吗做网站需求
  • 网站架构怎么看简单的网页设计模板