jQuery全屏滚动插件XSwitch

所属分类:UI-滚动

 45827  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: '' //滑动完成后的回调函数
}


相关插件-滚动

原生js向上滚动消息框

原生js封装的滚动消息框,简单实用
  滚动
 30076  329

jquery逐条文字向上滚动

jquery逐条文字向上滚动效果
  滚动
 51135  427

javript自定义滚动条

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

jQuery简单的文字跑马灯特效

这是一款非常简单的jQuery文字跑马灯特效插件。该跑马灯特效使文本从右向左不停循环,当鼠标放到跑马灯上的文字时,跑马灯会暂停运动。
  滚动
 213996  358

讨论这个项目(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
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复