jQuery全屏滚动插件XSwitch

所属分类:UI-滚动

 45660  401  查看评论 (14)
分享到微信朋友圈
X
jQuery全屏滚动插件XSwitch ie兼容8

如何使用

需要有一个基本的HTML结构

<!-- 插件基本结构 -->
<div id="container">
    <div class="sections">
        <div class="section" id="section0"></div>
        <div class="section" id="section1"></div>
        <div class="section" id="section2"></div>
        <div class="section" id="section3"></div>
    </div>
</div>

需要一些基础的样式支持

<style media="screen">
    /*简单reset*/
    * {
        margin: 0;
        padding: 0;
    }
    /*必须,关系到单个page能否全屏显示*/
    html,
    body {
        height: 100%;
        overflow: hidden;
    }
    #container,
    .sections,
    .section {
        /*必须,兼容,在浏览器不支持transform属性时,通过改变top/left完成滑动动画*/
        position: relative;
        /*必须,关系到单个page能否全屏显示*/
        height: 100%;
    }
    .section {
        /*有背景图时必须,关系到背景图能够全屏显示*/
        background-color: #000;
        background-size: cover;
        background-position: 50% 50%;
    }
    /*非必需,只是用来设置背景图,id不会被插件用到*/
    #section0 {
        background-image: url(img/img1.jpg);
    }
    #section1 {
        background-image: url(img/img2.jpg);
    }
    #section2 {
        background-image: url(img/img3.jpg);
    }
    #section3 {
        background-image: url(img/img4.jpg);
    }
    /*以下样式用来设置slider样式,可自行修改*/
    .pages {
        position:fixed;
        right: 10px;
        top: 50%;
        list-style: none;
    }
    .pages li {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #fff;
        margin: 15px 0 0 7px;
    }
    .pages li.active {
        margin-left: 0;
        width: 14px;
        height: 14px;
        border: 4px solid #FFFFFF;
        background: none;
    }
</style>

并引入JQuery与插件

<script src="js/jquery-1.12.3.min.js" charset="utf-8"></script>
<script src="js/pageswitch.js" charset="utf-8"></script>

插件的调用

设置了两种调用插件的方法:

方法一 通过给div#container添加属性data-XSwitch调用,插件将会使用默认配置,如

<div id="container" data-XSwitch>
     ...
</div>

方法二 通过js调用,使用这种方法可设置参数

<script>
    $('#container').XSwitch({
        direction: 'horizontal'
    });
</script>

插件配置相关

/*默认配置*/

{
    selectors: {
        sections: '.sections', //容器类名
        section: '.section', //子容器类名,即每个单页
        page: '.pages', //slider类名 插件会生成一个ul侧边栏
        active: '.active' //被选中的slider下li的类名
    },
    index: 0,  //起始页下标
    easing: 'ease',  //动画类型,支持transition所有类型
    duration: 500,  //动画执行时间 单位毫秒
    loop: false, //是否支持循环滑动
    pagination: true, //是否分页
    keyboard: true, //是否支持键盘滚动事件
    direction: 'vertical', //滑动方向 默认为垂直 设置为 horizontal 将水平滑动
    callback: '' //滑动完成后的回调函数
}


相关插件-滚动

常用的根据高度自动切换效果

常用的根据高度自动切换效果 简单 下载下来之后可以直接是用 兼容性好 不存在兼容问题
  滚动
 28153  344

仿百度知道(滚动固定标题)插件

仿百度知道滚动固定标题,点击标题滚动到内容块
  滚动
 24499  369

javript自定义滚动条

用原生的javript写的自定义滚动条具有拖拽,滚轮事件和键盘事件
  滚动
 32699  356

jQuery美化滚动条插件mCustomScrollbar

mCustomScrollbar 是个基于 jQuery UI 的自定义滚动条插件,它可以让你灵活的通过 CSS 定义网页的滚动条,并且垂直和水平两个方向的滚动条都可以定义
  滚动
 33427  335

讨论这个项目(14)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

    涅?重生 0
    2020/7/13 17:39:28
    请问作者,内容高度超过一屏,应该怎么办?方便的话,回复一下,谢谢
        BattleofLexington1
        2020/7/14 12:01:47
        超出高度对容器添加滚动条,使用css属性overflow: scroll
    回复
    Gretchen 0
    2019/4/15 11:20:35
    可以设置自动播放吗? 回复
    半夏? 0
    2018/12/8 17:34:06
    怎么手机滑动呢? 回复
    YOU 1
    2018/9/10 23:36:14
    作者代码写漏啦!!!回调函数type报错,还好我看得懂写的代码。XSwitch.js第193行和213行的type写漏了$. 改为$.type或者typeof就行了 回复
    夏至 0
    2018/1/17 15:34:31
    杯空记忆 0
    2016/12/19 18:12:43
    楼主,怎么回到第一页啊 回复
    勿言 沉默中 0
    2016/5/18 9:05:55
    不过自适应挺牛叉的
        给未来的自己0
        2016/7/18 11:07:09
        很郁闷,不知道他离开要怎么去判断了
    回复
    我是吕,不是小布 0
    2016/5/10 11:05:55
    是啊 有时 确实不灵 希望站长完善一下! 回复
    LCX 0
    2016/5/6 10:05:23
    上下滑动,有时候不怎么灵。
        勿言 沉默中0
        2016/5/18 9:05:11
        他 这动画过完才可继续执行下一个动画 可以加个 sotp();暂停当前动作 应该就可以了我是初学者 可能不是这样的
        给未来的自己0
        2016/7/18 11:07:05
        你试过了吗,不灵的原因?求解
    回复
    Goodname42 0
    2016/4/28 11:04:09
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复