翻屏滚动——PC端

  • 关于英雄联盟月饼冰淇淋这个页面,可以说遇到了一些以前没遇到过的情况,重点是讲述PC翻屏滚动,在此之外,对于翻屏滚动时的动画加载,再由头部底部时的判断等情况,做一个总结
    Ps:考虑到兼容性的一些问题,这里用的是swiper2.7的版本
  • 1.头部引入CSS
<link rel="stylesheet" href="css/idangerous.swiper.css">
  • 2.html结构
<div class="swiper-container">
  <div class="swiper-wrapper">
      <div class="swiper-slide"> Slide1</div>
      <div class="swiper-slide"> Slide2</div>
      <div class="swiper-slide"> Slide3</div>
  </div>
</div>
  • 3.引入Javascript,并对轮播进行初始化
<script src="js/idangerous.swiper2.7.6.min.js"></script>
<script>
var mySwiper = new Swiper('.swiper-container',{ 
  //是否开启鼠标控制Swiper切换,设置为true时,能使用鼠标滚轮控制slide滑动             
  mousewheelControl : false,
  //当值为true让鼠标滚轮固定于轴向
  mousewheelControlForceToAxis : true,
  //设置slider容器能够同时显示的slides数量(carousel模式)。可以设置为数字(可为小数,小数不可loop),
  //或者 'auto'则自动根据slides的宽度来设定数量。loop模式下如果设置为'auto'还需要设置另外一个参数[loopedSlides]
  slidesPerView: 1,
  mode: 'vertical',
 
  • 3.1在页面切换前回调函数
  onSlideChangeStart: function(swiper){
    //翻页动画
    annzmy.doCSSAnimation('.pic_box1','slideInDown');
    annzmy.doCSSAnimation('.pic_box2','slideInUp2');
    //侧边栏样式根据当前页进行变换
    var _class = 's-buy2 s-story2 s-detail2 s-meaning2 s-notice2';
    switch (swiper.activeIndex){
      case 0:
        $(".s-nav").css('top','122px');
        $('#navSlide li').eq(0).find('a').addClass('s-buy2').parents('li').siblings().find('a').removeClass(_class);
        break;
      case 1:
        $(".s-nav").css('top','122px');
        $('#navSlide li').eq(1).find('a').addClass('s-story2').parents('li').siblings().find('a').removeClass(_class);
        break;
      case 2:
      case 4:
      case 5:
        $(".s-nav").css('top','122px');
        $('#navSlide li').eq(2).find('a').addClass('s-detail2').parents('li').siblings().find('a').removeClass(_class);
        break;
      case 3:
        $(".s-nav").css('top','-60px');
        $('#navSlide li').eq(2).find('a').addClass('s-detail2').parents('li').siblings().find('a').removeClass(_class);
        break;
      }
    }
});
  • 3.2侧边栏跳转
slideto('.a1',0);
slideto('.a2',1);
slideto('.a3',2);
slideto('.a4',6);
slideto('.a5',7);
// 侧边栏跳转
function slideto(elm,index){
  $(elm).click(function(){
    mySwiper.swipeTo(index, 1000, true);//切换到第一个slide,速度为1秒
    $('.ost').hide();
    $('body').css('padding-top','0');
    $('#footer_ied').hide();
  });
}  
  • 3.3整屏滚动
var wheelPage=document.body;
//禁止默认滚轮事件
if (wheelPage.addEventListener) {
  // IE9, Chrome, Safari, Opera
  wheelPage.addEventListener("mousewheel", wheelMouse, false);
  // Firefox
  wheelPage.addEventListener("DOMMouseScroll", wheelMouse, false);
}
else{
  // IE 6/7/8
  wheelPage.attachEvent("onmousewheel", wheelMouse);
}
function wheelMouse(event) {
  if(checkBrowerIE8()){
    if(document.getElementById('inner-text2').contains(window.event.srcElement))return;
}else{
  if (event.target === $('.s-text-box2')[0] || event.target === $('.inner-text2')[0]  || $(event.target).parents('.inner-text2').length > 0) return;
}
event.preventDefault ? event.preventDefault() : (event.returnValue = false);
var e = window.event || event;
var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail)));
if (delta > 0) {
//向上滚动
if (mySwiper.activeIndex === 0) {
  if ($('.ost').css('display') === 'none') {
    $('.ost').show();
    $('body').css('padding-top','42px');
  }else {
    mySwiper.swipePrev();
  }
}else if (mySwiper.activeIndex === 7) {
  if ($('#footer_ied').css('display') === 'block') {
    $('#footer_ied').hide();
    $('body').css('padding-top','0');
    $('.ost').hide();
    window.scrollTo(0, 0);
  }else {
    $('.ost').hide();
    $('body').css('padding-top','0');
    mySwiper.swipePrev();
  }
}else {
  mySwiper.swipePrev();
}

在做整屏滚动时,发现页面设计稿的宽高是固定死的,所以不能根据页面大小来正常缩放,影响整屏翻动和视觉体验

//自动缩放

    var annzmy= {
        init: function () {
            $(window).bind('resize', annzmy.autoScale).trigger('resize');
        },
        autoScale: function () {
            var autoWidth = $(window).width();
            var scaleObj = $('.s-nav,.swiper-container');
            if(autoWidth <= 1240){
                autoWidth = 1240;
            }
            var scale = autoWidth/1920;
            var autoHeight = scale*980;
            $('.g-wrap').height(autoHeight);

            scaleObj.css({'-webkit-transform': 'scale('+ scale +')','-webkit-transform-origin':'top left','-moz-transform': 'scale('+ scale +')','-moz-transform-origin':'top left','transform': 'scale('+ scale +')','transform-origin':'top left'});

            var browser=navigator.appName, b_version=navigator.appVersion, version=b_version.split(";"), trim_Version= version.length > 1 ? version[1].replace(/[ ]/g,"") : "";
            if( browser=="Microsoft Internet Explorer" && (trim_Version=="MSIE8.0" || trim_Version=="MSIE7.0" || trim_Version=="MSIE6.0") ) {
                scaleObj.css('zoom',scale);
            }
        };
       $(function () { annzmy.init(); });
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,976评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,249评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,449评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,433评论 1 296
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,460评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,132评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,721评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,641评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,180评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,267评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,408评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,076评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,767评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,255评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,386评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,764评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,413评论 2 358

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,117评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,251评论 25 707
  • 嗨~我是苏倾凉,辞职环游世界,边走边工作。可以叫我的小名酥酥哦~在这儿,我会记录我环游世界的一点一滴,大家也可以在...
    苏倾凉阅读 179评论 0 0
  • 农历新年到来之前,天朝家家户户都会给家里来一次大扫除,以最干净整洁的居室环境迎接新年的到来。有的人还会在新年之前好...
    承汐Tris阅读 480评论 0 1
  • 昨晚朋友安利了「网易美学」app 给我,它是一个美妆社区。恰好自己最近在研究社区类产品,有机会观察一款 app 如...
    张兆超阅读 848评论 0 6