最近公司要求开发wap版本页面,碰到了个图片滑动切换效果,折腾了半天,自己封装了一个比较通用的小控件,在此分享一下。

大概功能:可以自定义是否自动切换,支持单手滑动图片进行切换,支持左右滑动切换、循环切换等等,具体可以拿demo代码自己本地试试,注意只支持手机端哦

大概思路:通过touchstart、touchmove、touchend 三个事件加上css3的3d变化效果配合,实现滑动切换图片,

开发是基于Zepto框架,当然也支持其他任何一款手机端框架,只需将代码中的美元符号$换为指定框架操作符即可。

下面是提供的一个demo:

1、html

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content = "width=device-width, target-densitydpi=high-dpi, initial-scale=1.0, maximum-scale=1.0, 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="telephone=no" name="format-detection" />
<meta name="keywords" content="seokeywords"/>
<meta name="description" content="seodescription"/>
<title>mggScrollImg demo 作者:js明哥哥</title>
<style>
ul,li{margin:0;padding:0;}
@media screen and (min-width:240px) {
    html, body{
        font-size:9px;
    }
}
@media screen and (min-width:320px) {
    html, body{
        font-size:12px;
    }
}
@media screen and (min-width:480px) {
    html, body{
    font-size:18px;
    }
}
@media screen and (min-width:640px) {
    html, body{
        font-size:24px;
    }
}
@media screen and (min-width:960px) {
    html, body{
        font-size:36px;
    }
}
div.imgbox{width:25rem;height:16.5rem;overflow:hidden;margin:0 auto;}
div.imgbox ul{clear:both;width:75rem;}
div.imgbox ul li{float:left;width:25rem;height:16.5rem;overflow:hidden;text-align:center;}
div.imgbox ul li img{width:24rem;height:16.5rem;}
#page{color:red;}
</style>
</head>
<body>
<div class="imgbox">
    <ul>
        <li><a href="http://home.cnblogs.com/u/huzhiming/"><img src="http://y2.ifengimg.com/df84c07b46e03f8e/2014/0512/rdn_53708f3d8533e.jpg"></img></a></li>
        <li><a href="http://home.cnblogs.com/u/huzhiming/"><img src="http://y2.ifengimg.com/df84c07b46e03f8e/2014/0512/rdn_53708f23aad06.jpg"></img></a></li>
        <li><a href="http://home.cnblogs.com/u/huzhiming/"><img src="http://y2.ifengimg.com/df84c07b46e03f8e/2014/0512/rdn_53708f345282b.jpg"></img></a></li>
    </ul>
</div>
<div>这里通过回调显示当前滚动到多少页:<span >0</span></div>
<script src="http://zeptojs.com/zepto.min.js"></script>
<script src="mggScrollImg.js"></script>
<script>
(function(){
/*
    注意:$.mggScrollImg返回的scrollImg对象上有
            next,prev,go三个方法,可以实现外部对滚动索引的控制。
    如:scrollImg.next();//会切换到下一张图片
        scrollImg.go(0);//会切换到第一张图片
*/
var scrollImg = $.mggScrollImg('.imgbox ul',{
        loop : true,//循环切换
        auto : true,//自动切换
        callback : function(ind){//这里传过来的是索引值
            $('#page').text(ind+1);
        }
    });
})()
</script>
</body>
</html>
html代码

相关文章:

  • 2022-12-23
  • 2022-01-18
  • 2022-12-23
  • 2022-02-21
  • 2021-06-11
  • 2021-12-22
  • 2022-12-23
  • 2021-12-10
猜你喜欢
  • 2021-11-12
  • 2022-02-12
  • 2022-12-23
  • 2021-07-22
  • 2022-12-23
相关资源
相似解决方案