问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用js或JQuery左右图片左右滑动的思路是怎样的

发布网友 发布时间:2022-04-20 23:22

我来回答

2个回答

懂视网 时间:2022-05-15 00:34

这篇文章主要为大家详细介绍了js实现手机web图片左右滑动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

最近在做一个手机端web站点,里面有一个图片展示效果:

1、点击任意图片时图片全屏展示,左右滑动能展示其他的图片。
2、滑动超过一定范围自动滑到下一张图片,不超过则回退到当前照片位置。此处的滑动要带动画效果

实现:

每张图片外面一个p,将其宽度设置为100%,最外层有一个p[命名为outerp],其宽度设为:总图片数量*100+‘%'。给最外层p设置touchstart,touchmove,touchend事件监听处理函数,在touchmove中根据移动的x轴距离动态改变outerp的x轴距离即可实现图片滑动效果,在touchend中根据当前滑动的距离判断滑动到下一张还是回退当前图片位置。

之前我们可以通过设置outerp的position属性,然后改变left值实现移动效果,这里我用的是css3的动画函数transform,简单,且可以实现动画效果

transform参数:

-webkit-transform:translate(100px,200px) tr //可以设置x、y轴方向移动距离
-webkit-transform:translateX(100px) translateY(200px) translateZ(3000px) 

//可以设置x、y、z轴方向移动距离.3D效果
-webkit-transition:.4s ease;//设置动画时间

定义动画时间:

.transition {
 -webkit-transition:.4s ease;
 -moz-transition:.4s ease;
 -ms-transition:.4s ease;
 -o-transition: .4s ease;
 transition:.4s ease;
}

关键代码:

var touchOption={touchStartX:0,startTranslateX:0,moveDistance:0};

1、touchstart

outerp.addEventListener('touchstart',function(){
$(this).removeClass('transition');//移除动画效果,否则移动时图片会颤动
touchOption.touchStartX = e.touches[0].clientX;
 if ($(this).css("-webkit-transform") == 'none') {
  touchOption.startTranslateX = 0;
 }
 else {
  //css-webkit-transform属性值格式:matrix(1, 0, 0, 1, -4140, 0)
  var transfrom_info = $('.sourcePhotop').css("-webkit-transform").split(',')[4];//获取当前outerp的x轴坐标
  touchOption.startTranslateX = parseInt(transfrom_info);
 }
},false);

2、touchmove

outerp.addEventListener('touchmove',function(){
 touchOption.moveDistance = (e.touches[0].clientX - touchOption.touchStartX);
 var TranslateX = touchOption.startTranslateX + touchOption.moveDistance;
 $(this).css('-webkit-transform', 'translateX('+ TranslateX +'px) translateZ(0)'); //移动图片
},false);

3、touchend

outerp.addEventListener('touchend',function(){
 $(this).addClass('transition);//添加动画效果
 var moveX=100;//此处计算移动移动下一张图片还是退货当前图片代码省略 
 $(this).css('-webkit-transform', 'translateX('+ moveX +'px) translateZ(0)'); //移动图片
},false);

总结:

1、outerp的动画参数和效果都是js动态添加的,不需要事先定义
2、用translate(x,y)这种参数时,图片移动时会颤动
3、用translateX() 且带translateZ(0)时图片移动正常,不带translateZ(0)同样出现颤动
4、如果用的是translateX(moveX) ranslateZ(0)这种格式,如果moveX用的是百分比值,如‘50%',在android手机自动浏览器和uc浏览器中则没有动画效果,用px单位值则正常

为防止图片移动过程颤动和保证动画效果,建议大家用translateX(100px) ranslateZ(0)这种参数,且移动距离用px值

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

详细解读layui父子窗口如何传递参数

在微信小程序中如何实现image组件图片自适应显示

在VUE移动音乐WEBAPP中有关跨域请求失败方面的问题

热心网友 时间:2022-05-14 21:42

横排要滑动的图片,然后设置一张图片的宽度;其他地方隐藏掉。用js/jq控制每次滑动的宽度为一张图片的宽度。到最后一张的时候,滑动位置变为初始位置就可以了。反方向也是如此,滑动就完成了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
U盘更新专用需要电脑打开怎么让我的U盘和电脑文件夹同步更新啊_百度知 ... 为什么我的硬盘一打开就弹出对话框说选择打开方式. 倒霉的是右键也打... 磁盘右键是打开方式怎么办 我双机盘符总是打开 打开方式 让我选择,右健第一项是打开.不知道是中了... 罗技Lightspeed怎么用? 罗技无线鼠标怎么样?怎么连接电脑使用? 为什么不建议去融资公司上班 融资担保公司一般账务处理及所涉及的会计科目有哪些 月经期间可以游泳吗 经期能不能游泳 jquery怎么实现左右滑动的问题 用JQUERY怎么做出来 图片从右到左自动切换,点击向... jquery实现的图片点击滚动效果 网页制作怎么实现图片左右定时自动滚动,用JS jque... 经常喝自制的咸味奶茶对身体有用吗 [健康 咸奶茶 口感是怎么样的啊?详细描绘下可以吗?一定... 比较有新意的奶茶,你喝过哪些? 喝不惯的咸奶茶怎么做才能变的好喝 咸奶茶 口感是怎么样的啊?详细描绘下可以吗?一定要... 蒙古咸味奶茶外地人喝的惯吗? 咸味奶茶的做法,咸味奶茶怎么做好吃,咸味奶茶 咸奶茶粉怎么做比较好吃 内蒙古特产奶茶粉速溶。内蒙古奶茶是甜味的好喝。... 咸奶茶怎么做 加咸奶茶做法? 咸奶茶好喝吗?大概是什么味? 关晓彤分享视频自制冬日暖心咸奶茶,你更喜欢甜奶... 甜奶茶好喝,还是咸奶茶好喝? 有人喝过咸奶茶吗?好喝吗,味道重不重?是酥油茶不? 咸奶茶好喝吗? 使用jQuery实现图片循环滚动效果,当把光标移动图... jquery怎么实现手机触屏图片滑动代码,手向左或向右... 求JQUERY的图片左右轮播的代码,要简单一点的谢谢 js实现图片左右滚动 jquery mobile如何实现左右滑动浏览图片,类似“百... 怎样用jquery mobile实现手机上的文字或者图片可以... jquery点击按钮图片上下滚动怎么做? 用js或jquery实现如下图的效果,每隔三秒图片向左... jquery实现图片自动切换和点击切换 jquery如何实现背景滚动? jquery多图横向间歇的滚动 jquery图片自动轮播怎么设置?求高手 苹果手机怎么把录好的歌设成电话零声 淘宝买家降权是什么情况呀? excel表格怎么变成word表格 excel表格能转换成word格式的吗 excel表格如何快速转变成word文档的表格? 怎样将excel表格转换成word表格 Excel中的表格如何转换成Word表格的方法 房子商贷30万,贷款30年,如何提前还款?