JS CSS實現滾動時間樣式

2021-10-01 17:33:28 字數 1723 閱讀 6383

效果圖:

動畫實現的方案是縮減上方div的高度帶動整體上滑,然後用js操作dom將最上方的div移到最下方。

主要css:

.continer 

.scroll

.scroll span

.bar

@keyframes close

100 %

}

頁面主要部分:

:    

:

js根據時間動態生成dom方法:

var timearray = [9, 5, 9, 5, 13, 2];

// 生成dom結點

function init_dom(date) , "");

var scrolldiv, bardiv, span, i, j;

var columns = ,

col, s_num;

// 計算每一列的值

for (i = 0; i < timearray.length; i++)

// 對小時進行特殊處理

if (i === 4 && parseint(s[0]) >= 2)

if (i === 5)

}columns.push(col);

}for (i = 0; i < columns.length; i++) }};

滾動實現與進製觸發:

// 啟動方法;

function scroll()

dom.addeventlistener("animationend", function(event) )

}, 1000)

};// 觸發器

function ticksec(index)

dom.addeventlistener("animationend", function(event) )

}

由於獲取的時間與系統當前時間仍有1000ms以內的差值,所以還要有用來糾正時間差值的啟動方法:

// 啟動

function start() , pad)

init_dom(new date(date.gettime() + pad));

}

以上就實現了基本的滾動樣式實現;

但值得注意的是,當瀏覽器最小化或者頁面不可見時,定時程式是停止執行的,所以會出現時間與當前時間並不匹配的情況。

這可以通過監聽頁面的顯隱解決,**如下:

// 設定隱藏屬性和改變可見屬性的事件的名稱

var hidden, visibilitychange;

if (typeof document.hidden !== "undefined") else if (typeof document.mshidden !== "undefined") else if (typeof document.webkithidden !== "undefined")

// 處理頁面可見屬性的改變

document.addeventlistener(visibilitychange, function() , false);

JS CSS實現數字滾動

最近在實現乙個顯示rgb顏色數值的動畫效果時,嘗試使用了writing mode 書寫模式 及 text orientation來實現文字的豎直方向的排列,並借助css的transition 過渡 來實現動畫效果。關於書寫模式,參考鏈結 鏈結描述 1 各瀏覽器對writing mode的支援情況,可...

JS CSS 實現 懸浮滾動廣告

布局乙個絕對布局的div 寫乙個move方法改變div的left 和top值 需要注意 到達body邊界時候 改變方向 然後設定定時器呼叫move方法 不斷改變 left和top值 lang en charset utf 8 移動的小廣告title 注意 document.body.clienthe...

webpack樣式處理,以及js,css壓縮

1.在配置中新增module module css loader css loader import 解析路徑 less loader less css 2.將樣式抽離成乙個單獨的檔案 抽離css外掛程式 mini css extract plugin let path require path 自...