京東移動端初體驗(yàn)

header欄的一個(gè)特效

思路

  • 在滾動事件中 寫邏輯 修改 通欄的透明度

  • 需要設(shè)置滾動的范圍 滾動的距離 跟輪播圖的高度一致即可

    1. 獲取變量 通欄 輪播圖的高度

    2. 為window綁定事件 onscroll

    3. 在事件中,獲取 滾動的距離 / 輪播圖的高度 獲取 比例值
      當(dāng)比例值 超過1時(shí) 就沒有必要設(shè)置了
      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);

        // 計(jì)算比例
        var percent = document.body.scrollTop/bannerHeight; 

        console.log(percent);

        // 修改 計(jì)算出來的比例值
        if (percent>maxPercent) {
            percent = maxPercent;
        }

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

倒計(jì)時(shí)特效

  • 定義變量 記錄總時(shí)間

  • 使用interval 進(jìn)行倒計(jì)時(shí)到interval設(shè)置的 函數(shù)中 進(jìn)行倒計(jì)時(shí)操作
    總時(shí)間--; 3600s
    秒 轉(zhuǎn)化為 時(shí) 分 秒
    設(shè)置到dom元素中

    1.定義變量 總時(shí)間 獲取 需要修改的span

    2.開啟定時(shí)器

    3.定時(shí)器的內(nèi)部邏輯
    時(shí)間--;
    格式化秒 為 時(shí)分秒
    設(shè)置給對應(yīng)的 dom元素

function countTime(){
    // 總時(shí)間 秒
    var totalNum = 5*60*60;
    // var totalNum = 3;

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

    // 封裝 設(shè)置事件的 函數(shù)
    var setTime = function(){
        // 格式化為 時(shí)分秒  3690
        var hour = Math.floor(totalNum / 3600);

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

        var second = totalNum % 60;

        // 設(shè)置給 對應(yīng)的span
        // 設(shè)置時(shí) 假設(shè) 有11小時(shí)
        timeSpans[0].innerHTML = Math.floor(hour / 10); //獲取 十位
        timeSpans[1].innerHTML = hour % 10; //獲取 個(gè)位

        // 設(shè)置 分 56分鐘
        timeSpans[3].innerHTML = Math.floor(minute / 10);//獲取 十位
        timeSpans[4].innerHTML = minute % 10; //獲取 個(gè)位

        // 設(shè)置 秒 45分鐘
        timeSpans[6].innerHTML = Math.floor(second / 10);//獲取 十位
        timeSpans[7].innerHTML = second % 10; //獲取 個(gè)位
    }

    // 設(shè)置 默認(rèn)顯示的時(shí)間
    setTime();


    // 開啟倒計(jì)時(shí)
    var timeID = setInterval(function(){

        // 如果 時(shí)間變?yōu)? 那么 關(guān)閉定時(shí)器 同時(shí)提示用戶
        if (totalNum<=0) {
            // 關(guān)閉定時(shí)器
            clearInterval(timeID);

            // 提示一下
            alert('你來晚啦 ,哈哈哈哈哈 沒有優(yōu)惠了');
            // 統(tǒng)一的彈框 建議 自定義dom元素 display:block

            // 跳出執(zhí)行
            return true;
        }

        // 遞減時(shí)間 秒
        totalNum--;

        // 調(diào)用 抽取的 設(shè)置事件函數(shù)
        setTime();

    },1000);
}

晚上要好好學(xué)習(xí),天天向上

今天學(xué)習(xí)了輪播圖,倒計(jì)時(shí),通欄的特效

function banner(){
   //思路:
   //會用到一個(gè)計(jì)時(shí)器,每回走一張下面的索引也要跟著走
   //定義 變量記錄 是哪一張輪播圖

    //定時(shí)器 interval 間隔調(diào)用
    //  索引++;
    //  修改 輪播圖的位置               
    //  口口口口口口口口口口口
    //先定義一下第一張的索引值,因?yàn)榭偣彩畯垐D片,然后最左面有一張,所以當(dāng)前這張的索引值為一
    var index=1;
    //獲取屏幕的寬度
    var width=document.body.offsetWidth;
    //獲取到ul這個(gè)對象
    var ulObj=document.querySelector('.banner_imgs');
    //獲取到那些li標(biāo)簽
    //var lis=document.querySelectorAll('.banner_imgs li');
     //下面的索引的部分,同步一下
          //獲取下面索引部分的ul
    var ulIndex=document.querySelector('.banner_index');
    var liIndex=document.querySelectorAll('.banner_index li');
    //定時(shí)器
    var setId=setInterval(function(){
          //讓一秒走一張圖片
          //讓它的index的值改一下
          index++;
          //如果index大于9的時(shí)候
          if(index>=9){
            index=1;
          }

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

    },2000);

    
}

插入圖片

005xcCKCjw1f4yomjo6vkj30qo0zg7aq.jpg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容