京东移动端初体验

header栏的一个特效

思路

  • 在滚动事件中 写逻辑 修改 通栏的透明度

  • 需要设置滚动的范围 滚动的距离 跟轮播图的高度一致即可

    1. 获取变量 通栏 轮播图的高度

    2. 为window绑定事件 onscroll

    3. 在事件中,获取 滚动的距离 / 轮播图的高度 获取 比例值
      当比例值 超过1时 就没有必要设置了
      if (比例值>1) {
      比例值=1;
      }

function header(){
    // 获取 通栏dom元素
    var headerDom = document.querySelector('header');

    // 获取 轮播图的高度 jq中 才是 height()
    var bannerHeight = document.querySelector('.jd_banner').offsetHeight;

    // 定义 最大的 透明度
    var maxNum = 0.9;

    // 定义 最大的比例值
    var maxPercent = 1.0;

    // 绑定事件
    window.onscroll = function(){
        // 获取 滚动的距离
        // console.log(document.body.scrollTop);

        // 计算比例
        var percent = document.body.scrollTop/bannerHeight; 

        console.log(percent);

        // 修改 计算出来的比例值
        if (percent>maxPercent) {
            percent = maxPercent;
        }

        // 这里设置即可
        headerDom.style.backgroundColor = 'rgba(201,21,35,'+percent*maxNum+')';
    }
}

倒计时特效

  • 定义变量 记录总时间

  • 使用interval 进行倒计时到interval设置的 函数中 进行倒计时操作
    总时间--; 3600s
    秒 转化为 时 分 秒
    设置到dom元素中

    1.定义变量 总时间 获取 需要修改的span

    2.开启定时器

    3.定时器的内部逻辑
    时间--;
    格式化秒 为 时分秒
    设置给对应的 dom元素

function countTime(){
    // 总时间 秒
    var totalNum = 5*60*60;
    // var totalNum = 3;

    // 获取 修改的span
    var timeSpans = document.querySelectorAll('.downTime span');

    // 封装 设置事件的 函数
    var setTime = function(){
        // 格式化为 时分秒  3690
        var hour = Math.floor(totalNum / 3600);

        var minute = Math.floor(totalNum % 3600 / 60);

        var second = totalNum % 60;

        // 设置给 对应的span
        // 设置时 假设 有11小时
        timeSpans[0].innerHTML = Math.floor(hour / 10); //获取 十位
        timeSpans[1].innerHTML = hour % 10; //获取 个位

        // 设置 分 56分钟
        timeSpans[3].innerHTML = Math.floor(minute / 10);//获取 十位
        timeSpans[4].innerHTML = minute % 10; //获取 个位

        // 设置 秒 45分钟
        timeSpans[6].innerHTML = Math.floor(second / 10);//获取 十位
        timeSpans[7].innerHTML = second % 10; //获取 个位
    }

    // 设置 默认显示的时间
    setTime();


    // 开启倒计时
    var timeID = setInterval(function(){

        // 如果 时间变为0 那么 关闭定时器 同时提示用户
        if (totalNum<=0) {
            // 关闭定时器
            clearInterval(timeID);

            // 提示一下
            alert('你来晚啦 ,哈哈哈哈哈 没有优惠了');
            // 统一的弹框 建议 自定义dom元素 display:block

            // 跳出执行
            return true;
        }

        // 递减时间 秒
        totalNum--;

        // 调用 抽取的 设置事件函数
        setTime();

    },1000);
}

晚上要好好学习,天天向上

今天学习了轮播图,倒计时,通栏的特效

function banner(){
   //思路:
   //会用到一个计时器,每回走一张下面的索引也要跟着走
   //定义 变量记录 是哪一张轮播图

    //定时器 interval 间隔调用
    //  索引++;
    //  修改 轮播图的位置               
    //  口口口口口口口口口口口
    //先定义一下第一张的索引值,因为总共十张图片,然后最左面有一张,所以当前这张的索引值为一
    var index=1;
    //获取屏幕的宽度
    var width=document.body.offsetWidth;
    //获取到ul这个对象
    var ulObj=document.querySelector('.banner_imgs');
    //获取到那些li标签
    //var lis=document.querySelectorAll('.banner_imgs li');
     //下面的索引的部分,同步一下
          //获取下面索引部分的ul
    var ulIndex=document.querySelector('.banner_index');
    var liIndex=document.querySelectorAll('.banner_index li');
    //定时器
    var setId=setInterval(function(){
          //让一秒走一张图片
          //让它的index的值改一下
          index++;
          //如果index大于9的时候
          if(index>=9){
            index=1;
          }

          ulObj.style.transform='translateX(-'+width*index+'px)';
         for(var i=0;i<liIndex.length;i++){
            //把所有的那个索引的背景颜色都去掉
            var classlist=liIndex[i].classList;
            classlist.remove('current');
         }
         liIndex[index-1].classList.add('current');

    },2000);

    
}

插入图片

005xcCKCjw1f4yomjo6vkj30qo0zg7aq.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,757评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,478评论 1 289
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,540评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,593评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,903评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,329评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,659评论 2 309
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,383评论 0 195
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,055评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,337评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,864评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,227评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,820评论 3 231
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,999评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,750评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,365评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,260评论 2 258

推荐阅读更多精彩内容