摘要:效果如圖所示鏈接地址源碼鏈接地址其實(shí)這個(gè)例子也很簡單用到的也只是的基礎(chǔ)部分我們要把一定間隔請求過來的數(shù)據(jù)進(jìn)行排序并生成元素同時(shí)重用原來和新數(shù)據(jù)相對應(yīng)的元素刪除不對應(yīng)的說的有點(diǎn)繞表達(dá)能力不行其實(shí)說到這明白人都能看出來了這要用到選擇器的以及方法
效果如圖所示,demo鏈接地址
源碼鏈接地址
其實(shí)這個(gè)例子也很簡單,用到的也只是d3的基礎(chǔ)部分,我們要把一定間隔請求過來的數(shù)據(jù)進(jìn)行排序, 并生成dom元素,同時(shí)重用原來和新數(shù)據(jù)相對應(yīng)的dom元素,刪除不對應(yīng)的,說的有點(diǎn)繞,表達(dá)能力不行,其實(shí)說到這明白人都能看出來了,這要用到D3選擇器的enter()以及exit()方法,至于動畫用到css3的transition.
首先,我準(zhǔn)備了兩份數(shù)據(jù),一份是一個(gè)對象數(shù)組叫data,另一份也是一個(gè)對象數(shù)組叫anther_data,兩份數(shù)據(jù)結(jié)構(gòu)一樣,內(nèi)容不同,設(shè)定每一個(gè)方塊的位置和動畫樣式,
.site { box-sizing: border-box; -webkit-transition: 1s ease-out; transition: 1s ease-out; overflow: hidden; background: green; padding: 10px 20px; position: absolute; width: 200px; height: 100px; } #index_0,#index_1....
其次,根據(jù)data數(shù)據(jù)通過selection.enter()方法生成初始的dom元素,并編寫go函數(shù)根據(jù)接收的data對頁面進(jìn)行重繪和重排,在這里Key函數(shù)起到關(guān)鍵作用了,根據(jù)url相同,決定哪些dom需要重新生成,哪些dom需要?jiǎng)h除,(關(guān)于Key 函數(shù)可以參考我之前的博文)
var sites = d3.selectAll(".site") .data(data, function(d) { return d.url; });
刪除不需要的dom
sites.exit().remove();
通過改變留下來的dom元素的id來改變它的位置
sites.attr("id", function(d, i) { return "index_" + i; });
生成新的dom元素
sites.enter() .append("div") .attr("class", "site") .attr("id", function(d, i) { return "index_" + i; }) .text(function(d) { return d.url; });
最后, 兩秒運(yùn)行一次go函數(shù)加載不同的數(shù)據(jù)
setInterval(function() { if(temp) { go(another_data); } else { go(data); } temp = !temp; }, 2000);
希望我的文章能幫助到你,更多資料請翻閱d3js.org,
我是朱現(xiàn)明,任職于精碩科技可視化部門前端開發(fā),更多精彩的文章即將奉上.
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/87511.html
摘要:效果如圖所示鏈接地址源碼鏈接地址其實(shí)這個(gè)例子也很簡單用到的也只是的基礎(chǔ)部分我們要把一定間隔請求過來的數(shù)據(jù)進(jìn)行排序并生成元素同時(shí)重用原來和新數(shù)據(jù)相對應(yīng)的元素刪除不對應(yīng)的說的有點(diǎn)繞表達(dá)能力不行其實(shí)說到這明白人都能看出來了這要用到選擇器的以及方法 showImg(http://segmentfault.com/img/bVbZY5); 效果如圖所示,demo鏈接地址源碼鏈接地址 其實(shí)這個(gè)例...
摘要:最終效果如上圖所示說是中級教程代碼其實(shí)也太簡單源碼鏈接在此部分解釋一下首先聲明這是作者推薦的寫法還是規(guī)范點(diǎn)好這樣寫不久你就會發(fā)現(xiàn)事半功倍其次是函數(shù)畫圓環(huán)全靠它自定義函數(shù)用于給定和圓環(huán)的最大值計(jì)算結(jié)束角度自定義函數(shù)用于給定和圓環(huán)的最大值計(jì)算指 showImg(http://segmentfault.com/img/bVbX9J); 最終效果如上圖所示 說是中級教程,代碼其實(shí)也太簡...
摘要:一開始用一直都沒留意到還有個(gè)參數(shù)后來剛接觸到函數(shù)就有些讓我迷惑了再后來發(fā)現(xiàn)這的確是個(gè)神器呀巴拉巴拉巴拉廢話不多說讓我們通過一個(gè)簡單的來認(rèn)識一下它在一個(gè)空白頁添加下面代碼樣式三個(gè)天藍(lán)色小藍(lán)條登場分別是寬度為的元素我們在中添加如下代碼并運(yùn)行情況 一開始用D3.data()一直都沒留意到還有個(gè)Key參數(shù),后來剛接觸到key函數(shù)就有些讓我迷惑了,再后來發(fā)現(xiàn)這的確是個(gè)神器呀.巴拉巴拉巴拉...廢...
摘要:官網(wǎng)訪問官網(wǎng)更快閱讀全部免費(fèi)分享課程出品全網(wǎng)最新微信小程序基于最新版開發(fā)者工具之初中級培訓(xùn)教程分享。翻譯能貓聲明本雙語文章的中文翻譯系英語原創(chuàng)內(nèi)容,轉(zhuǎn)載請注明出處。 iKcamp官網(wǎng):http://www.ikcamp.com 訪問官網(wǎng)更快閱讀全部免費(fèi)分享課程:《iKcamp出品|全網(wǎng)最新|微信小程序|基于最新版1.0開發(fā)者工具之初中級培訓(xùn)教程分享》。包含:文章、視頻、源代碼 sh...
摘要:官網(wǎng)訪問官網(wǎng)更快閱讀全部免費(fèi)分享課程出品全網(wǎng)最新微信小程序基于最新版開發(fā)者工具之初中級培訓(xùn)教程分享。翻譯能貓聲明本雙語文章的中文翻譯系英語原創(chuàng)內(nèi)容,轉(zhuǎn)載請注明出處。 iKcamp官網(wǎng):http://www.ikcamp.com 訪問官網(wǎng)更快閱讀全部免費(fèi)分享課程:《iKcamp出品|全網(wǎng)最新|微信小程序|基于最新版1.0開發(fā)者工具之初中級培訓(xùn)教程分享》。包含:文章、視頻、源代碼 sh...
閱讀 2670·2023-04-26 02:44
閱讀 8656·2021-11-22 14:44
閱讀 2131·2021-09-27 13:36
閱讀 2528·2021-09-08 10:43
閱讀 692·2019-08-30 15:56
閱讀 1400·2019-08-30 15:55
閱讀 2895·2019-08-28 18:12
閱讀 2837·2019-08-26 13:50