基于JS移动端图片上下左右滑动图片的对比度与灰度变化
2017-04-06 18:48
776 查看
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="css/jquery.mobile-1.4.5.min.css"/> <script src="js/jquery.min.js"></script> <script src="js/jquery.mobile-1.4.5.min.js"></script> <script src="js/hammer.js"></script> </head> <body> <div data-role="page"> <div data-role="header"> <h1>图像</h1> </div> <div data-role="main" class="ui-content"> <img src="img/1.png" style="width:100%;height:100%" id="swipe"/> </div> <div data-role="footer" id='d1'> <h1>底部文本</h1> </div> </div> </body> <script> //阻止页面下拉 $(function(){ document.querySelector('body').addEventListener('touchmove', function(e) { e.preventDefault(); }) }); //对比度:调整图像的对比度。值是0%的话,图像会全黑。值是100%,图像不变。值可以超过100%,意味着会运用更低的对比。若没有设置值,默认是1。 //灰度:将图像转换为灰度图像。值定义转换的比例。值为100%则完全转为灰度图像,值为0%图像无变化。值在0%到100%之间,则是效果的线性乘子。若未设置,值默认是0; var data={contrast:100,grayscale:0};//存储当前值 //创建一个新的hammer对象并且在初始化时指定要处理的dom元素 var hammertime = new Hammer(document.getElementById("swipe")); //配置hammer,不配置不能进行上下滑动,允许所有方向的滑动 hammertime.get('swipe').set({ direction: Hammer.DIRECTION_ALL }); //左滑动 hammertime.on("swipeleft", function (e) { var CON=data.contrast;//取当前值 var X=e.deltaX;//水平滑动的距离 if(X<0) { X=X*(-1); } data.contrast=CON-X/10;//当前距离减去滑动距离的十分之一,可以设置更少 if(CON<0){ data.contrast=0; } datachage(); }); hammertime.on("swiperight", function (e) { var CON=data.contrast; var X=e.deltaX; if(X<0) { X=X*(-1); } data.contrast=CON+X/10; datachage(); }); hammertime.on("swipeup", function (e) { var GRAY=data.grayscale; var Y=e.deltaY; if(Y<0) { Y=Y*(-1); } data.grayscale=GRAY+Y/10; if(GRAY>100) { data.grayscale=100; } datachage(); }); hammertime.on("swipedown", function (e) { var GRAY=data.grayscale; var Y=e.deltaY; if(Y<0) { Y=Y*(-1); } data.grayscale=GRAY-Y/10; if(GRAY<0){ data.grayscale=0; } datachage(); }); function datachage(){ $("#swipe").css({ "filter": "grayscale("+data.grayscale+"%) contrast("+data.contrast+"%)",//灰度与对比度的设置,都设置为当前值 "-webkit-filter":"grayscale("+data.grayscale+"%) contrast("+data.contrast+"%)"//兼容性处理,如需要兼容opera需再加前缀-o-,IE -ms-,firefox -moz- }); $("#d1 h1").html("对比度:"+data.contrast+" 灰度:"+data.grayscale);//显示灰度与对比度的值,仅供测试看 } </script> </html>
相关文章推荐
- js各种图片轮播滑动插件 上下,左右缩略图按钮点击图
- js实现移动端手指左右上下滑动翻页效果
- 原生JS实现移动端模块的左右滑动切换效果,基于vue、stylus
- JS+Flash图片轮换/切换--上下滑动效果
- 常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全
- 常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全
- 常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全
- 图片或文字上下左右滚动【JS向上滚动、JS向下滚动、JS向左滚动、JS向右滚动】【整理综合】
- Js实现图片缩放上下左右移动效果
- JS图片滚动(无缝、平滑、上下左右滚动)效果
- 上下左右连续滚动图片的JS代码
- 常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全
- 常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全
- 使用viewpager嵌套实现上下左右滑动切换图片(IOS双向滚动翻页效果相同)
- JS实现图片滚动(无缝、平滑、上下左右滚动)效果
- 常用JS图片滚动(无缝、平滑、上下左右滚动)
- JS无缝图片滚动(上下,左右)
- JS图片滚动(无缝、平滑、上下左右滚动)效果
- 移动开发中的上下左右滑动插件jquery.swipe.js
- 常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全