日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > HTML >内容正文

HTML

[知识图谱实战篇] 七.HTML+D3实现关系图谱搜索功能

發(fā)布時(shí)間:2024/6/1 HTML 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [知识图谱实战篇] 七.HTML+D3实现关系图谱搜索功能 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前面作者講解了很多知識(shí)圖譜原理知識(shí),包括知識(shí)圖譜相關(guān)技術(shù)、Neo4j繪制關(guān)系圖譜等,但仍缺少一個(gè)系統(tǒng)全面的實(shí)例。為了加深自己對(duì)知識(shí)圖譜構(gòu)建的認(rèn)識(shí),為后續(xù)創(chuàng)建貴州旅游知識(shí)圖譜打下基礎(chǔ),作者深入學(xué)習(xí)了張宏倫老師的網(wǎng)易云課程(星球系列電影),并結(jié)合自己的理解和技術(shù)分享了該系列專欄,從數(shù)據(jù)采集、數(shù)據(jù)展示、數(shù)據(jù)分析到知識(shí)圖譜構(gòu)建,文章后續(xù)還會(huì)講解中文數(shù)據(jù)的實(shí)體識(shí)別、關(guān)系抽取、知識(shí)計(jì)算等。

前面通過(guò)六篇文章基本構(gòu)建了電影知識(shí)圖譜,并且能顯示選中節(jié)點(diǎn)相關(guān)聯(lián)的邊及屬性,如下圖所示:

本文主要增加了一個(gè)搜索功能,通過(guò)該搜索框能展示搜索節(jié)點(diǎn)的相關(guān)內(nèi)容,同時(shí)在張老師的基礎(chǔ)上增加搜索節(jié)點(diǎn)相關(guān)聯(lián)的邊及節(jié)點(diǎn)。如下圖所示:

代碼下載地址:https://download.csdn.net/download/eastmount/10958879
Github下載地址:https://github.com/eastmountyxz/Knowledge-Graph-Movie

這是一系列基礎(chǔ)性文章,希望對(duì)您有所幫助 ,尤其是對(duì)知識(shí)圖譜感興趣和編程剛?cè)腴T(mén)的同學(xué)。同時(shí)也因?yàn)樽罱鼫?zhǔn)備博士考試,做題做吐了,寫(xiě)點(diǎn)新專欄調(diào)節(jié)下心情,與君共勉,一起加油。

前文:
[知識(shí)圖譜實(shí)戰(zhàn)篇] 一.數(shù)據(jù)抓取之Python3抓取JSON格式的電影實(shí)體
[知識(shí)圖譜實(shí)戰(zhàn)篇] 二.Json+Seaborn可視化展示電影實(shí)體
[知識(shí)圖譜實(shí)戰(zhàn)篇] 三.Python提取JSON數(shù)據(jù)、HTML+D3構(gòu)建基本可視化布局
[知識(shí)圖譜實(shí)戰(zhàn)篇] 四.HTML+D3+CSS繪制關(guān)系圖譜
[知識(shí)圖譜實(shí)戰(zhàn)篇] 五.HTML+D3添加鼠標(biāo)響應(yīng)事件顯示相關(guān)節(jié)點(diǎn)及邊
[知識(shí)圖譜實(shí)戰(zhàn)篇] 六.HTML+D3實(shí)現(xiàn)點(diǎn)擊節(jié)點(diǎn)顯示相關(guān)屬性及屬性值


文章目錄

  • 一.HTML增加搜索框
  • 二.JS增加搜索響應(yīng)事件
  • 三.優(yōu)化代碼-顯示相關(guān)聯(lián)節(jié)點(diǎn)及邊
  • 四.完整代碼


推薦作者的知識(shí)圖譜前文:
知識(shí)圖譜相關(guān)會(huì)議之觀后感分享與學(xué)習(xí)總結(jié)
中文知識(shí)圖譜研討會(huì)的學(xué)習(xí)總結(jié) (上) 圖譜引入、百度知心、搜狗知立方
搜索引擎和知識(shí)圖譜那些事 (上).基礎(chǔ)篇
基于VSM的命名實(shí)體識(shí)別、歧義消解和指代消解

CSDN下載-第一屆全國(guó)中文知識(shí)圖譜研討會(huì)演講PPT 清華大學(xué)
CSDN下載-知識(shí)圖譜PDF資料 清華大學(xué)知識(shí)圖譜研討會(huì)匯報(bào)PPT

[知識(shí)圖譜構(gòu)建] 一.Neo4j圖數(shù)據(jù)庫(kù)安裝初識(shí)及藥材供應(yīng)圖譜實(shí)例
[知識(shí)圖譜構(gòu)建] 二.《Neo4j基礎(chǔ)入門(mén)》基礎(chǔ)學(xué)習(xí)之創(chuàng)建圖數(shù)據(jù)庫(kù)節(jié)點(diǎn)及關(guān)系
[關(guān)系圖譜] 一.Gephi通過(guò)共線矩陣構(gòu)建知網(wǎng)作者關(guān)系圖譜
[關(guān)系圖譜] 二.Gephi導(dǎo)入共線矩陣構(gòu)建作者關(guān)系圖譜

再次強(qiáng)烈推薦大家閱讀張宏倫老師的網(wǎng)易云課程及Github源碼,受益匪淺。
https://github.com/Honlan/starwar-visualization/tree/master/star_war
https://study.163.com/course/courseLearn.htm?courseId=1003528010


一.HTML增加搜索框

首先,利用HTML繪制一個(gè)搜索框。

<!-- 繪制搜索框 --> <div id="search"><input type="text" class="form-control"> </div>

注意,class為form-control,它是bootstrap的基本樣式,所以需要在前面導(dǎo)入基本樣式代碼,如下:

<link href="http://cdn.bootcss.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet"> <script src="http://cdn.bootcss.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>

此時(shí),你會(huì)發(fā)現(xiàn)新增的搜索框已經(jīng)被置于底部,接著需要通過(guò)CSS設(shè)置其樣式。

CSS增加樣式代碼如下:絕對(duì)定位、位置、顏色、邊框去掉、outline去掉、陰影 去掉、跨度設(shè)置、背景顏色設(shè)置。

#search input {position: absolute;top: 220px;left: 60px;color: #fff;border: none;outline: none;box-shadow: none;width: 200px;background-color: #666; }

此時(shí)就增加好了搜索框:


二.JS增加搜索響應(yīng)事件

當(dāng)搜索框設(shè)置完成之后,再設(shè)置其響應(yīng)事件。添加事件 $(’#search1 input’).keyup(function(event) {})
其基本功能表示:

  • 當(dāng)輸入內(nèi)容則響應(yīng)該事件keyup
  • 如果input值為空,即沒(méi)有輸入搜索內(nèi)容則顯示所有圓和邊
  • 如果有搜索內(nèi)容,顯示搜索相關(guān)聯(lián)的節(jié)點(diǎn)
  • 同時(shí)設(shè)置Texts、所有邊隱藏
<script type="text/javascript"> //搜索框中輸入內(nèi)容則響應(yīng)該事件 //keyup按鍵敲擊響應(yīng)event $('#search input').keyup(function(event) {//如果Input值是空的顯示所有的圓和線(沒(méi)有進(jìn)行篩選)if ($(this).val() == '') {d3.select('#svg1 .texts').selectAll('text').attr('class', '');d3.select('#svg1 .nodes').selectAll('circle').attr('class', '');d3.select('#svg1 .links').selectAll('line').attr('class', '');}//否則判斷判斷三個(gè)元素是否等于name值,等于則顯示該值else {var name = $(this).val();//搜索所有的節(jié)點(diǎn)d3.select('#svg1 .nodes').selectAll('circle').attr('class', function(d) {//輸入節(jié)點(diǎn)id的小寫(xiě)等于name則顯示,否則隱藏if (d.id.toLowerCase().indexOf(name.toLowerCase()) >= 0) {return '';} else {return 'inactive'; //隱藏}});//搜索textsd3.select('#svg1 .texts').selectAll('text').attr('class', function(d) {if (d.id.toLowerCase().indexOf(name.toLowerCase()) >= 0) {return '';} else {return 'inactive';}});//搜索linksd3.select("#svg1 .links").selectAll('line').attr('class', function(d) {//return 'inactive';});} }); </script>

此時(shí)的運(yùn)行效果如下圖所示,比如搜索 luke 則反饋該節(jié)點(diǎn),它是一個(gè)人物。
點(diǎn)擊“文字”的搜索也是如此,僅顯示單一節(jié)點(diǎn)。


三.優(yōu)化代碼-顯示相關(guān)聯(lián)節(jié)點(diǎn)及邊

但我們更期待的結(jié)果是反饋搜索節(jié)點(diǎn)及其相關(guān)聯(lián)的邊及節(jié)點(diǎn),下面作者結(jié)合之前的文章進(jìn)行優(yōu)化。此時(shí)原理很簡(jiǎn)單,增加一個(gè)循環(huán),判斷所有邊的起點(diǎn)(Source)或終點(diǎn)(Target)與該搜索節(jié)點(diǎn)相鄰,則顯示,否則設(shè)置其class屬性為’inactive’,即隱藏節(jié)點(diǎn)。

核心代碼如下:

<script> //搜索框中輸入內(nèi)容則響應(yīng)該事件 //keyup按鍵敲擊響應(yīng)event $('#search input').keyup(function(event) {//如果Input值是空的顯示所有的圓和線(沒(méi)有進(jìn)行篩選)if ($(this).val() == '') {d3.select('#svg1 .texts').selectAll('text').attr('class', '');d3.select('#svg1 .nodes').selectAll('circle').attr('class', '');d3.select('#svg1 .links').selectAll('line').attr('class', '');}//否則判斷判斷三個(gè)元素是否等于name值,等于則顯示該值else {var name = $(this).val();//搜索所有的節(jié)點(diǎn)d3.select('#svg1 .nodes').selectAll('circle').attr('class', function(d) {//輸入節(jié)點(diǎn)id的小寫(xiě)等于name則顯示,否則隱藏if (d.id.toLowerCase().indexOf(name.toLowerCase()) >= 0) {return '';} else {//優(yōu)化:與該搜索節(jié)點(diǎn)相關(guān)聯(lián)的節(jié)點(diǎn)均顯示//links鏈接的起始節(jié)點(diǎn)進(jìn)行判斷,如果其id等于name則顯示這類節(jié)點(diǎn)//注意: graph=datafor (var i = 0; i < graph.links.length; i++) {//如果links的起點(diǎn)等于name,并且終點(diǎn)等于正在處理的則顯示if ((graph.links[i]['source'].id.toLowerCase().indexOf(name.toLowerCase()) >= 0) && (graph.links[i]['target'].id == d.id)) {return '';}//如果links的終點(diǎn)等于name,并且起點(diǎn)等于正在處理的則顯示if ((graph.links[i]['target'].id.toLowerCase().indexOf(name.toLowerCase()) >= 0) && (graph.links[i]['source'].id == d.id)) {return '';}} return 'inactive'; //隱藏其他節(jié)點(diǎn) }});//搜索textsd3.select('#svg1 .texts').selectAll('text').attr('class', function(d) {if (d.id.toLowerCase().indexOf(name.toLowerCase()) >= 0) {return '';} else {//優(yōu)化:與該搜索節(jié)點(diǎn)相關(guān)聯(lián)的節(jié)點(diǎn)均顯示//links鏈接的起始節(jié)點(diǎn)進(jìn)行判斷,如果其id等于name則顯示這類節(jié)點(diǎn)//注意: graph=datafor (var i = 0; i < graph.links.length; i++) {//如果links的起點(diǎn)等于name,并且終點(diǎn)等于正在處理的則顯示if ((graph.links[i]['source'].id.toLowerCase().indexOf(name.toLowerCase()) >= 0) && (graph.links[i]['target'].id == d.id)) {return '';}//如果links的終點(diǎn)等于name,并且起點(diǎn)等于正在處理的則顯示if ((graph.links[i]['target'].id.toLowerCase().indexOf(name.toLowerCase()) >= 0) && (graph.links[i]['source'].id == d.id)) {return '';}} return 'inactive'; //隱藏其他節(jié)點(diǎn)}});//搜索links 所有與搜索name相關(guān)聯(lián)的邊均顯示//顯示相的鄰邊 注意 || //name=$(this).val():名字為鍵盤(pán)輸入的內(nèi)容d3.select("#svg1 .links").selectAll('line').attr('class', function(d) {if ((d.source.id.toLowerCase().indexOf(name.toLowerCase()) >= 0) || (d.target.id.toLowerCase().indexOf(name.toLowerCase()) >= 0) ) {return '';} else {return 'inactive'; //隱藏}});} }); //end input </script>

運(yùn)行結(jié)果如下圖所示,同時(shí)如果有多個(gè)名字相關(guān)的節(jié)點(diǎn),它們與其關(guān)聯(lián)的節(jié)點(diǎn)和邊均會(huì)顯示。

PS:但是也存在一個(gè)問(wèn)題,即右邊顯示的屬性為鼠標(biāo)選中顯示,而搜索通常不能顯示屬性,但這不會(huì)影響整體效果。


四.完整代碼

完整代碼如下所示:

<!DOCTYPE html> <html><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><title>知識(shí)圖譜</title><meta name="description" content="" /><meta name="keywords" content="" /><meta name="author" content="" /><link rel="shortcut icon" href=""><script src="http://cdn.bootcss.com/jquery/2.1.4/jquery.min.js"></script><link href="http://cdn.bootcss.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet"><script src="http://cdn.bootcss.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> </head> <style type="text/css"> body {background-color: #272b30;padding: 30px 40px;text-align: center;font-family: OpenSans-Light, PingFang SC, Hiragino Sans GB, Microsoft Yahei, Microsoft Jhenghei, sans-serif; }#indicator {position: absolute; left: 60px;bottom: 120px;text-align: left;color: #f2f2f2;font-size: 12px; }#indicator>div {margin-bottom: 4px; }#indicator span {display: inline-block;width: 30px;height: 14px;position: relative;top: 2px;margin-right: 8px; }.links line {stroke: rgb(240, 240, 240); stroke-opactity: 0.2; }.links line.inactive {/*display: none !important;*/stroke-opacity: 0; }.nodes circle {stroke: #fff;stroke-width: 1.5px; }.nodes circle:hover {cursor: pointer; }.nodes circle.inactive {display: none !important; }.texts text {display: none; }.texts text:hover {cursor: pointer; }.texts text.inactive {display: none !important; }#mode {position: absolute;top: 160px;left: 60px; }#mode span {display: inline-block;border: 1px solid #fff;color: #fff;padding: 6px 10px;border-radius: 4px;font-size: 14px;transition: color, background-color .3s;-o-transition: color, background-color .3s;-ms-transition: color, background-color .3s;-moz-transition: color, background-color .3s;-webkit-transition: color, background-color .3s; }#mode span.active, #mode span:hover {background-color: #fff;color: #333;cursor: pointer; }#info {position: absolute;bottom: 40px;right: 30px;text-align: right;width: 270px; }#info p {color: #fff;font-size: 12px;margin-top: 0;margin-bottom: 5px; }#info p span {color: #888;margin-right: 10px; }#info h4 {color: #fff; }#search input {position: absolute;top: 220px;left: 60px;color: #fff;border: none;outline: none;box-shadow: none;width: 200px;background-color: #666; } </style> <body><!-- 繪制標(biāo)題樣式 --><h1 style="color:#fff;font-size:32px;margin-bottom:0px;text-align:center;margin-left:40px;">Star Wars</h1><!-- 第一個(gè)布局 繪制知識(shí)圖譜主圖 --><div style="text-align: center; position:relative;"><svg width="800" height="560" style="margin-right:80px;margin-bottom:-40px;" id="svg1"></svg><!-- 繪制圖例 --><div id="indicator"></div><!-- 繪制模式選擇 --><div id="mode"><span class="active" style="border-top-right-radius:0;border-bottom-right-radius:0;">節(jié)點(diǎn)</span><span style="border-top-left-radius:0;border-bottom-left-radius:0;position:relative;left:-5px;">文字</span></div><!-- 繪制搜索框 --><div id="search"><input type="text" class="form-control"></div><!-- 繪制右邊顯示結(jié)果 --><div id="info"><h4></h4></div></div><!-- 第二個(gè)布局 下部分時(shí)間點(diǎn) 文本居中 相對(duì)定位--><div style="text-align: center; position:relative;"><svg width="960" height="240" style="margin-right:60px;margin-bottom:-40px;" id="svg1"><g></g></svg></div></body><!-- 增加D3元素庫(kù) --> <script src="https://d3js.org/d3.v4.min.js"></script> <!-- 補(bǔ)充JS代碼 --> <script type="text/javascript">$(document).ready(function() {//定義svg變量將布局svg1選出來(lái) var svg = d3.select("#svg1"), width = svg.attr("width"), height = svg.attr("height");//定義name變量制作圖標(biāo)var names = ['Films', 'Characters', 'Planets', 'Starships', 'Vehicles', 'Species'];var colors = ['#6ca46c', '#4e88af', '#ca635f', '#d2907c', '#d6744d', '#ded295'];//背景顏色設(shè)置 補(bǔ)充CSS樣式設(shè)置字體布局for (var i=0; i < names.length; i++) {$('#indicator').append("<div><span style='background-color:" + colors[i] + "'></span>" + names[i] + "</div>");}//利用d3.forceSimulation()定義關(guān)系圖 包括設(shè)置邊link、排斥電荷charge、關(guān)系圖中心點(diǎn)var simulation = d3.forceSimulation().force("link", d3.forceLink().id(function(d) {return d.id;})).force("charge", d3.forceManyBody()).force("center", d3.forceCenter(width / 2, height / 2));//存儲(chǔ)關(guān)系圖的數(shù)據(jù)var graph;//定義d3.json請(qǐng)求python處理好的節(jié)點(diǎn)及邊 請(qǐng)求成功返回?cái)?shù)據(jù),否則報(bào)錯(cuò)d3.json("starwar_alldata.json", function(error, data) {if(error) throw error;graph = data;console.log(graph);//D3映射數(shù)據(jù)至HTML中//g用于繪制所有邊,selectALL選中所有的line,并綁定數(shù)據(jù)data(graph.links),enter().append("line")添加元素//數(shù)據(jù)驅(qū)動(dòng)文檔,設(shè)置邊的粗細(xì)//前面定義var svg = d3.select("#svg1")var link = svg.append("g").attr("class","links").selectAll("line").data(graph.links).enter().append("line").attr("stroke-width", function(d) {//return Math.sqrt(d.value);return 1; //所有線寬度均為1});//添加所有的點(diǎn)//selectAll("circle")選中所有的圓并綁定數(shù)據(jù),圓的直徑為d.size//再定義圓的填充色,同樣數(shù)據(jù)驅(qū)動(dòng)樣式,圓沒(méi)有描邊,圓的名字為d.id//call()函數(shù):拖動(dòng)函數(shù),當(dāng)拖動(dòng)開(kāi)始綁定dragstarted函數(shù),拖動(dòng)進(jìn)行和拖動(dòng)結(jié)束也綁定函數(shù)var node = svg.append("g").attr("class", "nodes").selectAll("circle").data(graph.nodes).enter().append("circle").attr("r", function(d) {return d.size;}).attr("fill", function(d) {return colors[d.group];}).attr("stroke", "none").attr("name", function(d) {return d.id;}).call(d3.drag().on("start", dragstarted).on("drag", dragged).on("end", dragended));//顯示所有的文本 //設(shè)置大小、填充顏色、名字、text()設(shè)置文本//attr("text-anchor", "middle")文本居中var text = svg.append("g").attr("class", "texts").selectAll("text").data(graph.nodes).enter().append("text").attr("font-size", function(d) {return d.size;}).attr("fill", function(d) {return colors[d.group];}).attr('name', function(d) {return d.id;}).text(function(d) {return d.id;}).attr('text-anchor', 'middle').call(d3.drag().on("start", dragstarted).on("drag", dragged).on("end", dragended));//圓增加titlenode.append("title").text(function(d) {return d.id;})//simulation中ticked數(shù)據(jù)初始化,并生成圖形simulation.nodes(graph.nodes).on("tick", ticked);simulation.force("link").links(graph.links);//ticked()函數(shù)確定link線的起始點(diǎn)x、y坐標(biāo) node確定中心點(diǎn) 文本通過(guò)translate平移變化function ticked() {link.attr("x1", function(d) {return d.source.x;}).attr("y1", function(d) {return d.source.y;}).attr("x2", function(d) {return d.target.x;}).attr("y2", function(d) {return d.target.y;});node.attr("cx", function(d) {return d.x;}).attr("cy", function(d) {return d.y;});text.attr('transform', function(d) {return 'translate(' + d.x + ',' + (d.y + d.size / 2) + ')';});}});// Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension// 本地json數(shù)據(jù)需要放置服務(wù)器中請(qǐng)求 XAMPP//該變量保證拖動(dòng)鼠標(biāo)時(shí),不會(huì)影響圖形變換,默認(rèn)為false未選中鼠標(biāo)var dragging = false;//開(kāi)始拖動(dòng)并更新相應(yīng)的點(diǎn)function dragstarted(d) {if (!d3.event.active) simulation.alphaTarget(0.3).restart();d.fx = d.x;d.fy = d.y;dragging = true;}//拖動(dòng)進(jìn)行中function dragged(d) {d.fx = d3.event.x;d.fy = d3.event.y;}//拖動(dòng)結(jié)束function dragended(d) {if (!d3.event.active) simulation.alphaTarget(0);d.fx = null;d.fy = null;dragging = false;}//span點(diǎn)擊事件$('#mode span').click(function(event) {//span都設(shè)置為不激活狀態(tài)$('#mode span').removeClass('active');//點(diǎn)擊的span被激活$(this).addClass('active');//text隱藏 nodes顯示if ($(this).text() == '節(jié)點(diǎn)') {$('.texts text').hide();$('.nodes circle').show();} else {$('.texts text').show();$('.nodes circle').hide();}});//為svg1父元素下的.nodes circle元素綁定鼠標(biāo)進(jìn)入事件$('#svg1').on('mouseenter', '.nodes circle', function(event) {//通過(guò)變量dragging保證拖動(dòng)鼠標(biāo)時(shí),其狀態(tài)不受影響,從而改變圖形//鼠標(biāo)沒(méi)有拖動(dòng)才能處理事件if(!dragging) {//獲取被選中元素的名字var name = $(this).attr("name");//設(shè)置#info h4樣式的顏色為該節(jié)點(diǎn)的顏色,文本為該節(jié)點(diǎn)name//$(this).attr('fill')表示當(dāng)前懸浮圓的填充色$('#info h4').css('color', $(this).attr('fill')).text(name);//每次點(diǎn)擊添加屬性前把上次顯示的信息去除,否則會(huì)不斷疊加$('#info p').remove();//打印懸浮的節(jié)點(diǎn)信息//console.log(info[name]);//遍歷所有的for (var key in info[name]) {//類型復(fù)雜的不進(jìn)行顯示if (typeof(info[name][key]) == 'object') {continue;}//比較復(fù)雜的超鏈接字段不顯示if (key == 'url' || key == 'title' || key == 'name' || key == 'edited' || key == 'created' || key == 'homeworld') {continue;}//顯示值及其字段名字$('#info').append('<p><span>' + key + '</span>' + info[name][key] + '</p>');}//選擇#svg1 .nodes中所有的circle,再增加個(gè)classd3.select('#svg1 .nodes').selectAll('circle').attr('class', function(d) {//數(shù)據(jù)的id是否等于name,返回空if(d.id==name) {return '';} //當(dāng)前節(jié)點(diǎn)返回空,否則其他節(jié)點(diǎn)循環(huán)判斷是否被隱藏起來(lái)(CSS設(shè)置隱藏)else {//links鏈接的起始節(jié)點(diǎn)進(jìn)行判斷,如果其id等于name則顯示這類節(jié)點(diǎn)//注意: graph=datafor (var i = 0; i < graph.links.length; i++) {//如果links的起點(diǎn)等于name,并且終點(diǎn)等于正在處理的則顯示if (graph.links[i]['source'].id == name && graph.links[i]['target'].id == d.id) {return '';}if (graph.links[i]['target'].id == name && graph.links[i]['source'].id == d.id) {return '';}}return "inactive"; //前面CSS定義 .nodes circle.inactive}});//處理相鄰的邊line是否隱藏 注意 || d3.select("#svg1 .links").selectAll('line').attr('class', function(d) {if (d.source.id == name || d.target.id == name) {return '';} else {return 'inactive';}});}});//鼠標(biāo)移開(kāi)還原原圖,顯示所有隱藏的點(diǎn)及邊$('#svg1').on('mouseleave', '.nodes circle', function(event) {//如果dragging為false才處理事件if(!dragging) {d3.select('#svg1 .nodes').selectAll('circle').attr('class', '');d3.select('#svg1 .links').selectAll('line').attr('class', '');} });//鼠標(biāo)進(jìn)入文本顯示相鄰節(jié)點(diǎn)及邊$('#svg1').on('mouseenter', '.texts text', function(event) {if (!dragging) {var name = $(this).attr('name');//同樣的代碼從選中圓中賦值過(guò)來(lái)$('#info h4').css('color', $(this).attr('fill')).text(name);$('#info p').remove();for (var key in info[name]) {if (typeof(info[name][key]) == 'object') {continue;}if (key == 'url' || key == 'title' || key == 'name' || key == 'edited' || key == 'created' || key == 'homeworld') {continue;}$('#info').append('<p><span>' + key + '</span>' + info[name][key] + '</p>');}d3.select('#svg1 .texts').selectAll('text').attr('class', function(d) {if (d.id == name) {return '';}for (var i = 0; i < graph.links.length; i++) {if (graph.links[i]['source'].id == name && graph.links[i]['target'].id == d.id) {return '';}if (graph.links[i]['target'].id == name && graph.links[i]['source'].id == d.id) {return '';}}return 'inactive';});d3.select("#svg1 .links").selectAll('line').attr('class', function(d) {if (d.source.id == name || d.target.id == name) {return '';} else {return 'inactive';}});}});//鼠標(biāo)移除文本還原相應(yīng)節(jié)點(diǎn)及邊$('#svg1').on('mouseleave', '.texts text', function(event) {if (!dragging) {d3.select('#svg1 .texts').selectAll('text').attr('class', '');d3.select('#svg1 .links').selectAll('line').attr('class', '');}});//搜索框中輸入內(nèi)容則響應(yīng)該事件//keyup按鍵敲擊響應(yīng)event$('#search input').keyup(function(event) {//如果Input值是空的顯示所有的圓和線(沒(méi)有進(jìn)行篩選)if ($(this).val() == '') {d3.select('#svg1 .texts').selectAll('text').attr('class', '');d3.select('#svg1 .nodes').selectAll('circle').attr('class', '');d3.select('#svg1 .links').selectAll('line').attr('class', '');}//否則判斷判斷三個(gè)元素是否等于name值,等于則顯示該值else {var name = $(this).val();//搜索所有的節(jié)點(diǎn)d3.select('#svg1 .nodes').selectAll('circle').attr('class', function(d) {//輸入節(jié)點(diǎn)id的小寫(xiě)等于name則顯示,否則隱藏if (d.id.toLowerCase().indexOf(name.toLowerCase()) >= 0) {return '';} else {//優(yōu)化:與該搜索節(jié)點(diǎn)相關(guān)聯(lián)的節(jié)點(diǎn)均顯示//links鏈接的起始節(jié)點(diǎn)進(jìn)行判斷,如果其id等于name則顯示這類節(jié)點(diǎn)//注意: graph=datafor (var i = 0; i < graph.links.length; i++) {//如果links的起點(diǎn)等于name,并且終點(diǎn)等于正在處理的則顯示if ((graph.links[i]['source'].id.toLowerCase().indexOf(name.toLowerCase()) >= 0) && (graph.links[i]['target'].id == d.id)) {return '';}//如果links的終點(diǎn)等于name,并且起點(diǎn)等于正在處理的則顯示if ((graph.links[i]['target'].id.toLowerCase().indexOf(name.toLowerCase()) >= 0) && (graph.links[i]['source'].id == d.id)) {return '';}} return 'inactive'; //隱藏其他節(jié)點(diǎn) }});//搜索textsd3.select('#svg1 .texts').selectAll('text').attr('class', function(d) {if (d.id.toLowerCase().indexOf(name.toLowerCase()) >= 0) {return '';} else {//優(yōu)化:與該搜索節(jié)點(diǎn)相關(guān)聯(lián)的節(jié)點(diǎn)均顯示//links鏈接的起始節(jié)點(diǎn)進(jìn)行判斷,如果其id等于name則顯示這類節(jié)點(diǎn)//注意: graph=datafor (var i = 0; i < graph.links.length; i++) {//如果links的起點(diǎn)等于name,并且終點(diǎn)等于正在處理的則顯示if ((graph.links[i]['source'].id.toLowerCase().indexOf(name.toLowerCase()) >= 0) && (graph.links[i]['target'].id == d.id)) {return '';}//如果links的終點(diǎn)等于name,并且起點(diǎn)等于正在處理的則顯示if ((graph.links[i]['target'].id.toLowerCase().indexOf(name.toLowerCase()) >= 0) && (graph.links[i]['source'].id == d.id)) {return '';}} return 'inactive'; //隱藏其他節(jié)點(diǎn)}});//搜索links 所有與搜索name相關(guān)聯(lián)的邊均顯示//顯示相的鄰邊 注意 || //name=$(this).val():名字為鍵盤(pán)輸入的內(nèi)容d3.select("#svg1 .links").selectAll('line').attr('class', function(d) {if ((d.source.id.toLowerCase().indexOf(name.toLowerCase()) >= 0) || (d.target.id.toLowerCase().indexOf(name.toLowerCase()) >= 0) ) {return '';} else {return 'inactive'; //隱藏}});}}); //end input//加載Python獲取的Json信息:六類實(shí)體詳細(xì)屬性信息var info;//d3.json獲取數(shù)據(jù)d3.json("all_data.json", function(error, data) {if(error) throw error;info = data;});}); </script> </html>

源碼下載地址:https://download.csdn.net/download/eastmount/10958879

希望這篇基礎(chǔ)性文章對(duì)你有所幫助,尤其是新手。

哎,英語(yǔ)真心太差了,博士也不一定能考上,但我至少奮斗過(guò),這個(gè)寒假每日每夜都忙碌著。同時(shí)也希望未來(lái)能有更多時(shí)間學(xué)習(xí)新知識(shí),分享新知識(shí)。未來(lái)的路誰(shuí)又知道,作為一名大學(xué)老師,希望自己能始終保持初心,教好自己的每一個(gè)學(xué)生;作為一名程序員,希望自己知道學(xué)無(wú)止境,寫(xiě)好自己的每一篇博文;作為一名主人公,希望自己能照顧好另一伴,愛(ài)她就像愛(ài)生命。我毫無(wú)閱歷,毫無(wú)準(zhǔn)備,我一頭栽進(jìn)我的命里,就像跌進(jìn)一個(gè)深坑,從那一秒鐘起,我的心里只有一個(gè),就是你。

(By:Eastmount 2019-02-14 下午4點(diǎn) http://blog.csdn.net/eastmount/)

總結(jié)

以上是生活随笔為你收集整理的[知识图谱实战篇] 七.HTML+D3实现关系图谱搜索功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

久久综合狠狠综合久久狠狠色综合 | 亚洲国产色一区 | 久久成人午夜 | 久久久69| 久久久国产精品人人片99精片欧美一 | 国产精品99久久久久久久久久久久 | www天天干com | av色影院| 婷婷电影在线观看 | 免费亚洲视频 | 国产理论在线 | 日韩av在线高清 | 亚洲成人欧美 | 狠狠操天天操 | 国产传媒中文字幕 | 中文字幕久久精品亚洲乱码 | 69国产精品成人在线播放 | 五月婷婷激情网 | 欧美精品成人在线 | 国产一区二区三精品久久久无广告 | 国产精品乱码一区二区视频 | 中文字幕视频一区二区 | 精品久久久久国产免费第一页 | 久久女教师 | 国产一级在线免费观看 | 久久不射电影网 | 久久综合色一综合色88 | 正在播放五月婷婷狠狠干 | 天天婷婷 | 久草影视在线观看 | 成人免费观看视频大全 | 91成人在线免费观看 | 激情欧美一区二区三区 | 91私密保健| 在线国产高清 | 日韩欧美有码在线 | 四虎影视成人 | 三级黄色理论片 | 青青河边草免费观看 | 日韩精品一卡 | 免费在线观看av的网站 | 精品国产视频在线 | 激情综合色综合久久 | 天天操夜夜摸 | 成人免费一级 | www五月天婷婷 | 日韩大片在线播放 | 黄色av播放 | 日p视频在线观看 | 日韩专区av| 91av片| 狠狠躁夜夜av | 日韩在线免费高清视频 | 国产视频在线一区二区 | 日韩av线观看 | 欧美国产一区二区 | 国产91九色蝌蚪 | 超级碰99 | 日韩精品第一区 | 国产一级免费观看 | 国产资源av | 久久国产精品一区二区 | 有码中文字幕 | 欧美男同网站 | 亚洲视频 在线观看 | 天堂av官网 | av色图天堂网 | 国产精品嫩草影院99网站 | 99这里只有精品99 | 综合国产在线观看 | 夜夜躁日日躁 | 精品久久久久久综合 | 99在线精品视频 | 人人藻人人澡人人爽 | 日韩在线视频精品 | 国产亚洲精品美女 | 五月天婷婷在线观看视频 | 97超碰在线免费 | 丁香六月天 | 456成人精品影院 | 国产日韩一区在线 | 99精品视频在线观看视频 | 黄色免费在线看 | 久久成人国产精品 | 久久久久综合视频 | 精品视频免费久久久看 | 999在线视频 | 狠狠色噜噜狠狠狠狠 | 国产成人精品av在线观 | 天天色天天射天天操 | 高清免费在线视频 | 免费看片网址 | 亚洲 精品在线视频 | 精品亚洲免费 | 国产九九精品视频 | 亚洲va天堂va欧美ⅴa在线 | 日韩艹| 日韩久久久久久 | 99爱爱| 亚洲免费av电影 | 亚洲污视频 | 日韩女同一区二区三区在线观看 | 欧美日韩一二三四区 | 久久免费的视频 | 国产超碰97 | 国产91免费在线观看 | 一本一本久久a久久精品综合 | 西西www4444大胆视频 | 国产91在线观看 | 在线小视频 | 日日干网 | 欧美在线视频一区二区三区 | 久久精品一二三区白丝高潮 | 在线观看免费一区 | 亚洲成人av电影在线 | 久久免费观看视频 | 亚洲精品高清在线 | 久久免费视频一区 | 成人影片在线免费观看 | 97视频在线免费播放 | 久久视频免费看 | 丁香六月婷婷开心婷婷网 | 一区 在线观看 | 日韩毛片久久久 | 9797在线看片亚洲精品 | 国产91精品在线观看 | 麻豆网站免费观看 | 国产在线观看你懂的 | 久久综合导航 | 99在线精品视频在线观看 | 色干综合 | 亚洲精品播放 | 天天草天天干 | 久久激情视频 | 中文字幕久久精品亚洲乱码 | 日韩激情av在线 | 在线免费视频 你懂得 | 日韩精品一区二区三区不卡 | 日日天天干 | 亚洲成人资源在线观看 | 亚洲国产久 | 亚洲视频资源在线 | 黄色免费在线视频 | 免费看的黄色片 | 亚洲第一久久久 | 国产精品久久久久久久久久久久午 | 91最新视频| 成人国产精品免费 | 中文字幕资源网 | 天天射综合| 日韩欧美视频在线播放 | 国产手机在线观看视频 | 天天操天天爽天天干 | av永久网址 | 少妇18xxxx性xxxx片| 免费看三片| 欧美精品乱码久久久久 | 国产日韩精品一区二区三区在线 | 免费观看黄色12片一级视频 | 免费三级黄色片 | 四虎影视精品永久在线观看 | 欧美日韩大片在线观看 | 国产拍揄自揄精品视频麻豆 | 日韩精品一区二区在线观看 | 国产婷婷久久 | 二区精品视频 | 日韩av中文在线观看 | 国产精品视频全国免费观看 | 亚洲精品视频在线观看网站 | 高清日韩一区二区 | 国产成人三级 | 天天操狠狠干 | www.色婷婷 | 在线观看免费黄色 | 天天插天天狠天天透 | 亚洲精品视频偷拍 | 日日夜夜免费精品视频 | 在线观看完整版免费 | 91爱在线 | 91插插影库| 亚洲成免费 | 国产三级午夜理伦三级 | 一区二区精品久久 | 在线看片日韩 | 一区二区三区中文字幕在线观看 | 伊人开心激情 | 日韩在线观看视频在线 | 国产亚洲一级高清 | 国产精品一区二区在线观看免费 | 国产中文在线观看 | 麻豆国产精品视频 | 97在线免费观看视频 | 91精品国自产在线观看 | 亚洲色图美腿丝袜 | 国产一区二区视频在线播放 | 丁香六月天 | 国产一在线精品一区在线观看 | av一区在线 | 日日操日日插 | 久草电影在线观看 | 亚洲精品美女久久久久 | 日韩av在线免费看 | 国产精品美女久久久久久网站 | 精品在线观看一区二区 | 精品国产色 | 黄色日视频 | 久久久免费看 | 国产二级视频 | 高清av免费观看 | 97国产精品视频 | 国产精品久久久久永久免费观看 | 精品免费观看视频 | 久草影视在线观看 | 国产精品尤物视频 | 天天综合视频在线观看 | 很黄很黄的网站免费的 | 男女激情片在线观看 | 五月综合激情网 | 国产91区| 一本一本久久a久久精品综合 | 国产精品久久久久高潮 | 天天射天天艹 | 久久99久| 亚洲黄色软件 | 久久国产精品视频 | 久黄色| 最新色站| 国产精品久久久久一区二区三区共 | 日韩羞羞 | 亚洲专区欧美专区 | 97操操操 | 免费日韩一区二区三区 | 一区二区三区免费网站 | 精品国产区在线 | 一区二区三区在线观看免费视频 | 91九色在线| 国产精品久久99 | 在线综合 亚洲 欧美在线视频 | 久草在线91 | 人人澡超碰碰97碰碰碰软件 | 久久精品久久精品 | 久久久久久久久久影视 | 久久久毛片| av免费观看高清 | 在线免费观看国产视频 | 国产精品日韩欧美一区二区 | 91热这里只有精品 | 三级黄色理论片 | 色网站免费在线观看 | 婷婷五月情 | 欧美男同视频网站 | 婷婷av色综合 | 国产精品一区二区久久 | www.色婷婷.com | 日日干夜夜操视频 | 久在线 | 香蕉视频网址 | 岛国精品一区二区 | 精品久久久久久国产 | 亚洲成人黄色av | 欧美最猛性xxxxx免费 | 丁香午夜 | 天天草综合 | 精品伊人久久久 | 亚洲永久精品国产 | 国产又粗又猛又色 | 青青河边草免费视频 | 国产1区在线观看 | 日韩毛片精品 | 丝袜美女在线观看 | 久草在线播放视频 | av在观看 | 涩五月婷婷 | 日韩性xxx| 精品日韩视频 | 99视频在线免费看 | 99热最新在线 | 日韩欧美网站 | 欧美激情第八页 | 九九在线精品视频 | 成人午夜电影网站 | 亚洲精品国产精品久久99热 | 欧美性生交大片免网 | 色婷婷狠狠 | 日韩天天干 | 叶爱av在线 | 青草视频在线 | 国产精品无av码在线观看 | 97超碰人人模人人人爽人人爱 | 韩国一区二区av | 麻豆免费在线视频 | 成人一级 | 日韩在线小视频 | 视频成人 | 国产精品久久婷婷六月丁香 | 天天色天天射天天干 | 国产精品123 | 午夜国产在线 | 久久久免费精品 | 在线看免费 | 久久99热久久99精品 | 欧美日韩高清一区二区 国产亚洲免费看 | 久久久91精品国产一区二区精品 | 色噜噜噜噜 | 欧美久草视频 | 97精品国产97久久久久久久久久久久 | 久久精品国产亚洲精品2020 | 久草综合在线 | 久久er99热精品一区二区 | 久久精品综合一区 | 香蕉视频在线免费 | 亚洲视频一 | 探花国产在线 | 操久| 中文字幕免费高清在线观看 | 男女视频久久久 | 西西www4444大胆视频 | 四虎成人精品 | 日韩色中色| 中文字幕亚洲情99在线 | 国模精品在线 | 一区在线播放 | 久久99影院 | 国产99久久久国产精品免费二区 | 超碰人人射 | 日日夜夜网 | 日韩在线观看小视频 | 夜夜骑日日操 | 亚洲国内精品视频 | 日韩sese | 99在线视频免费观看 | 日韩理论在线 | 亚洲成av人影片在线观看 | av蜜桃在线 | 国产精品乱码高清在线看 | 18岁免费看片 | 久久久久久久久久久久99 | 美女久久久久久久久久 | 日韩丝袜视频 | 99热这里只有精品在线观看 | 午夜免费福利视频 | 九九热精品视频在线观看 | 开心激情综合网 | 丁香六月国产 | 亚洲久草在线 | 97国产在线播放 | 99综合电影在线视频 | av官网 | 2023亚洲精品国偷拍自产在线 | 黄a在线观看 | 中文字幕资源网在线观看 | 久久免费99精品久久久久久 | 特级毛片在线观看 | 日韩av三区| 手机在线黄色网址 | 狠狠躁日日躁狂躁夜夜躁 | 在线激情小视频 | 日日天天狠狠 | 国产精品久久99综合免费观看尤物 | 亚洲国产偷 | 日韩理论片中文字幕 | 中文字幕丝袜一区二区 | 成人三级网站在线观看 | 成人免费在线看片 | 国产一级大片免费看 | 国产一卡久久电影永久 | 亚洲国产精品资源 | 最新av网址在线 | wwwwwww黄 | 免费日韩 精品中文字幕视频在线 | 亚洲日韩欧美一区二区在线 | 91手机电影 | 国内精品久久久久久久影视简单 | 一区二区三区四区五区在线视频 | 婷婷六月天综合 | 久久久91精品国产一区二区三区 | 欧美激情一区不卡 | 欧美日韩一级久久久久久免费看 | 欧美少妇18p | 日韩免费在线播放 | 午夜美女视频 | 国产伦精品一区二区三区四区视频 | av一级在线 | 日韩av片在线| 国产精品视频免费看 | 日韩精品久久久 | 国产精品九九九九九 | 国产精品激情偷乱一区二区∴ | 国产精品视频永久免费播放 | 欧美一区免费在线观看 | 国产精品手机在线 | 最近2019年日本中文免费字幕 | 亚洲国产成人精品在线 | 久久久久久高潮国产精品视 | 日韩精品高清视频 | 超级碰视频 | 日韩r级在线 | 热99久久精品 | 狠狠狠色 | 日日干影院 | 免费看片日韩 | 国产精品免费久久久久久久久久中文 | 日韩av区| 久草综合视频 | 91成人看片| 黄色大片免费网站 | 久久精品久久久精品美女 | 亚洲美女视频在线 | 一区二区三区中文字幕在线 | 狠狠操夜夜 | 手机色站| 97香蕉久久国产在线观看 | 午夜色婷婷 | avav片| 91在线视频在线观看 | 中文字幕在线观看网站 | 日韩欧美视频免费在线观看 | 色偷偷av男人天堂 | 奇米影视在线99精品 | 色就是色综合 | 国产精品成人免费 | 97超碰人人看 | 国产精品久久久区三区天天噜 | 国产精品欧美久久久久久 | 久草在线免费看视频 | 日韩在线视频网址 | 久久久精品免费观看 | 最新国产在线观看 | 国产小视频免费在线网址 | aaa日本高清在线播放免费观看 | 97色se | 香蕉97视频观看在线观看 | 国产精品一区二区在线免费观看 | 天天插日日射 | 亚洲美女免费精品视频在线观看 | 91视频麻豆视频 | 香蕉久久久久 | 中文字幕在线影院 | 日韩激情视频在线观看 | 国产一区视频在线播放 | 亚洲欧洲精品视频 | 久久99精品视频 | 成年人在线视频观看 | 黄色软件视频网站 | 亚洲黄色片在线 | 国产精品一区二区三区四区在线观看 | 九色视频网址 | 亚洲综合在线视频 | 国产一性一爱一乱一交 | 2019国产精品 | 不卡的av电影 | 激情 一区二区 | 色av婷婷 | 九九九九热精品免费视频点播观看 | 99久久夜色精品国产亚洲 | 国产精品一区二区三区四区在线观看 | 久草久草在线观看 | 成人免费在线视频观看 | 色噜噜狠狠色综合中国 | 日韩免费视频线观看 | 日本高清xxxx | zzijzzij亚洲成熟少妇 | 99久久久国产精品美女 | 综合亚洲视频 | 中文国产成人精品久久一 | av免费网站| av在线免费观看不卡 | 黄色大片日本免费大片 | 美女视频a美女大全免费下载蜜臀 | 久久国内免费视频 | 国内毛片毛片 | 91麻豆国产福利在线观看 | 亚洲精品xxxx | 欧美日韩精品网站 | 97精品欧美91久久久久久 | 国产精品成人一区二区三区吃奶 | 欧美资源 | 伊人婷婷 | 日日夜夜免费精品 | a亚洲视频 | 国产成人一二三 | 中文字幕成人一区 | 亚洲乱亚洲乱亚洲 | 国产精品免费视频网站 | 成人一级视频在线观看 | 精品国产伦一区二区三区观看说明 | 精品视频成人 | 国产三级在线播放 | 91理论电影| 成人免费看电影 | 成人久久久久久久久 | 日本乱视频| 精品欧美小视频在线观看 | 国产成人福利在线观看 | 亚洲成人免费 | 久久99亚洲精品久久 | 亚洲天天综合网 | 国产一区二区不卡在线 | 国产精品麻豆视频 | 亚洲综合国产精品 | 91香蕉视频黄色 | 久久综合狠狠综合 | 欧美色图东方 | 免费黄色av.| 51精品国自产在线 | 色婷婷啪啪免费在线电影观看 | 亚洲丁香日韩 | 四虎成人精品在永久免费 | 国产91学生粉嫩喷水 | 日韩av高清 | 999视频在线播放 | 国产在线观看免费 | 天天操网址| 精品久久久久免费极品大片 | 五月香视频在线观看 | 中文字幕传媒 | 九九久久久久99精品 | 久久久久国产精品www | 欧美少妇xxx | 婷婷久操 | 亚洲精品成人网 | 国产短视频在线播放 | 亚洲国产播放 | 午夜精品区 | 免费视频a| 波多野结衣视频一区二区 | 在线日韩精品视频 | 亚洲精品国产精品国自产在线 | 久草视频中文 | 曰本免费av | 18av在线视频 | 在线观看www视频 | 国产精品国产毛片 | 91麻豆精品国产91久久久久久久久 | 毛片网站免费在线观看 | 亚洲国产免费看 | 婷婷六月天丁香 | 性色av免费在线观看 | www久久| 亚洲欧洲中文日韩久久av乱码 | 欧美 日韩 视频 | 91av成人| 人人插人人澡 | 日韩成人中文字幕 | 精品久久中文 | 欧美性生活免费看 | 三级大片网站 | 国产第一页在线观看 | 在线观看中文字幕第一页 | 久久久污 | 久久影院亚洲 | 色综合久久88色综合天天6 | a在线v| 国产午夜精品一区二区三区嫩草 | 中文字幕日本电影 | 韩国av一区二区三区 | 丁香激情婷婷 | 免费a视频| 日韩v在线 | 亚洲精品资源在线 | 亚洲综合黄色 | 久久久久久久精 | 狠狠色丁香久久综合网 | 久久五月情影视 | 91中文字幕网 | 在线香蕉视频 | 免费成人在线网站 | 曰本三级在线 | 日韩视频在线播放 | 国产精品美女毛片真酒店 | 五月天综合激情 | 久久精品欧美一区 | 亚洲永久精品在线观看 | 国产成视频在线观看 | 国产麻豆精品传媒av国产下载 | 国内精品视频免费 | 天天干天天操天天入 | 色偷偷人人澡久久超碰69 | 日韩午夜在线观看 | 麻豆免费精品视频 | 91久久国产露脸精品国产闺蜜 | 色婷婷成人网 | 99视频精品全国免费 | 99热这里有精品 | 超碰在线免费97 | 狠狠躁夜夜躁人人爽超碰91 | 福利精品在线 | 国产亚洲精品福利 | 西西444www高清大胆 | 欧美精品乱码久久久久久 | 免费的国产精品 | 午夜精品久久久久久中宇69 | 三级黄免费看 | 人人狠狠综合久久亚洲 | 美女视频黄免费网站 | 欧美五月婷婷 | 久久综合福利 | 91视频麻豆 | 在线亚洲精品 | 欧美男男激情videos | 视频一区二区在线观看 | 狠狠gao | 99九九热只有国产精品 | 一区二区三区电影 | 中文字幕一区二区三区四区在线视频 | 国产精品视频区 | 国产女人18毛片水真多18精品 | 正在播放五月婷婷狠狠干 | 色综合久久五月天 | 国产亚洲精品美女 | 在线探花| 国产打女人屁股调教97 | 99在线热播精品免费 | 91看片麻豆 | 成人在线视频观看 | www.av免费 | 99国产精品久久久久久久久久 | 四虎成人精品 | 又长又大又黑又粗欧美 | 手机看片99 | 久久亚洲欧美 | 免费国产黄线在线观看视频 | 国产精品美女视频 | 欧美性生活久久 | 国模吧一区 | 99久久这里只有精品 | 亚洲免费资源 | 国产成人一区二区三区 | 97视频在线免费观看 | 中文字幕在线观看不卡 | 久久久久成人精品 | 成人免费电影 | 国产综合香蕉五月婷在线 | 天天操导航 | 在线免费试看 | 最近更新的中文字幕 | 91日韩在线专区 | 看黄色91 | 欧美日韩高清不卡 | 国产你懂的在线 | 色婷婷午夜 | 操操操日日日干干干 | 九九久久婷婷 | 99热超碰在线 | 精品国产伦一区二区三区观看方式 | 久久免费精彩视频 | 黄色免费视频在线观看 | 中文av在线免费观看 | av免费试看 | 国产不卡一二三区 | 国产中文字幕国产 | 99视频精品 | 欧美专区亚洲专区 | 五月综合婷 | 操操操av | 国产免费成人 | 亚洲精品国产精品久久99热 | 91人网站 | 国语精品免费视频 | 国产亚洲精品bv在线观看 | 在线观看网站黄 | 久久久国产精品人人片99精片欧美一 | 精品久久1 | 狠狠狠狠狠狠狠狠干 | 亚洲夜夜综合 | 99在线高清视频在线播放 | 日韩欧美国产视频 | 蜜臀aⅴ国产精品久久久国产 | 97超碰人人澡人人爱学生 | www.五月天激情 | 9999激情 | 中文字幕在线观看1 | 天堂v中文 | 九色porny真实丨国产18 | 二区三区在线视频 | 9在线观看免费高清完整 | 久久伊人五月天 | 国产69久久久欧美一级 | 婷婷深爱网| 亚洲欧洲精品一区二区 | 在线 国产 亚洲 欧美 | 91麻豆精品国产91久久久使用方法 | 99视频在线精品免费观看2 | 日本精品久久久久 | 亚洲三级视频 | 亚洲国产中文字幕在线观看 | 在线色视频小说 | 毛片视频电影 | 国产精品久久久久久久婷婷 | 麻豆视频成人 | 久久日韩精品 | 不卡在线一区 | 国产69精品久久久久99 | 色综合久久久久久中文网 | 美女视频黄在线观看 | 美女网站黄在线观看 | 午夜电影中文字幕 | 五月婷婷综合在线 | 国产三级香港三韩国三级 | 91自拍视频在线 | 日本mv大片欧洲mv大片 | 日韩r级电影在线观看 | 深爱激情五月网 | 欧美99久久 | 成人国产网址 | 91夜夜夜 | 婷婷色六月天 | www国产在线 | 天天激情天天干 | 午夜av不卡 | 九九九九热精品免费视频点播观看 | 国偷自产中文字幕亚洲手机在线 | 天天操天天干天天操天天干 | 一区三区在线欧 | 最近日本中文字幕 | 免费看三级网站 | 精品国产亚洲一区二区麻豆 | 久久9999久久免费精品国产 | 五月天婷婷丁香花 | 99福利片 | 草久在线观看视频 | 天海冀一区二区三区 | 国产专区第一页 | 国产成人精品一区在线 | 久二影院 | 人人澡人人澡人人 | 日日夜夜天天操 | 六月色婷 | 黄色成品视频 | 国产中文自拍 | 欧美激情综合网 | 中国黄色一级大片 | 国产又黄又硬又爽 | 天天色天天综合网 | 999热视频| 天天综合人人 | 欧美色图p | 国内精品久久久久久久久久清纯 | 亚洲精品乱码久久久久久久久久 | 国产精品第52页 | 手机在线欧美 | 韩国一区二区三区视频 | 色婷婷电影网 | 日韩一区二区三区免费视频 | av天天澡天天爽天天av | 日韩综合精品 | 国产成人三级一区二区在线观看一 | 国产韩国日本高清视频 | 日韩成人免费电影 | 日韩精品久久久久久中文字幕8 | 久久tv| 国产一二区在线观看 | 999色视频| 欧美日韩不卡一区二区三区 | 亚洲成年人免费网站 | 在线观看www视频 | 国产成人专区 | 亚洲成人午夜在线 | 欧美久久久 | 婷婷四房综合激情五月 | 欧美一区二区视频97 | 久久久一本精品99久久精品66 | 日韩高清免费在线观看 | 国产视频久久久久 | 日韩在线一级 | 中文字幕文字幕一区二区 | 91在线影视| 国产精品av电影 | 丝袜美女在线观看 | 日韩久久视频 | 91视频电影 | 国产精品国内免费一区二区三区 | 欧美日韩国产精品一区二区 | 国产伦精品一区二区三区高清 | 在线免费试看 | 大胆欧美gogo免费视频一二区 | 亚洲精品男人天堂 | 中文字幕a∨在线乱码免费看 | 在线视频 影院 | 国产日韩在线一区 | 99国产精品久久久久久久久久 | 国产小视频91 | 亚洲视屏一区 | 国产在线色视频 | 日本中文在线观看 | 国产午夜影院 | 黄色小说18 | 91漂亮少妇露脸在线播放 | 黄色一级免费 | 成人黄色片在线播放 | 日韩精品网址 | 久久久久久久影视 | 中中文字幕av | 在线观看色网站 | 九九综合九九 | 国产亚洲无 | 九七人人干 | 9在线观看免费高清完整版在线观看明 | 日本女人逼 | 色狠狠操 | 人人澡人人澡人人 | 91精品国产99久久久久 | 色综合咪咪久久网 | 中文字幕高清在线播放 | 亚洲欧美视频网站 | 日日干美女 | www.eeuss影院av撸| 国产91精品欧美 | 波多野结衣亚洲一区二区 | 精久久久久| 免费看黄20分钟 | 日韩av电影手机在线观看 | 天海冀一区二区三区 | 中文字幕乱码亚洲精品一区 | 国内精品久久久久久久影视简单 | 欧美特一级 | 91精品日韩 | 麻花豆传媒一二三产区 | av大全在线免费观看 | 中文视频在线看 | 国产精品久久久999 国产91九色视频 | 国偷自产中文字幕亚洲手机在线 | 国产一级特黄电影 | 天天曰夜夜操 | 看毛片的网址 | 国产a级免费| 亚一亚二国产专区 | 久久久久久蜜桃一区二区 | 中日韩欧美精彩视频 | 男女激情网址 | 亚洲成人av片 | 狠狠色丁香久久综合网 | 91丨九色丨蝌蚪丨对白 | 午夜在线国产 | 成人综合日日夜夜 | 久久优 | 日韩精品中文字幕av | 久久免费的精品国产v∧ | 国产91精品一区二区 | 青青河边草手机免费 | 亚洲精品自拍视频在线观看 | 亚洲成人av一区 | 日韩成人黄色 | 精品一区二区久久久久久久网站 | 又爽又黄又无遮挡网站动态图 | 国产精品久久久久久久久久妇女 | 国产精品va在线播放 | 人人玩人人添人人澡超碰 | 国产精品一区二区视频 | 91传媒视频在线观看 | 亚洲国产理论片 | 免费在线中文字幕 | 黄色av一区二区 | 日韩在线不卡av | 五月婷婷久久丁香 | 亚洲视频一区二区三区在线观看 | 亚洲精品国产精品99久久 | 天天干,天天射,天天操,天天摸 | 99国产高清| 在线看日韩av | 欧美影片 | 久久精品99视频 | 人人舔人人爱 | 插婷婷| 国产丝袜 | 久久久一本精品99久久精品66 | 国产中的精品av小宝探花 | 日韩在线观看视频网站 | 999久久久国产精品 高清av免费观看 | 久久色视频 | 国产精品欧美一区二区 | 91精品国产91久久久久福利 | 国产精品丝袜久久久久久久不卡 | 欧美视频在线观看免费网址 | 在线视频观看成人 | 亚洲国产欧美在线人成大黄瓜 | 国产视频在线免费观看 | 色婷婷激情电影 | 日韩欧美网址 | 西西444www | 黄色在线小网站 | 在线观看免费91 | 精品在线一区二区三区 | 六月激情丁香 | 国产色在线,com | 免费观看的av网站 | 天天操天天干天天干 | 亚洲精品国| 麻豆成人小视频 | 成人国产精品免费观看 | 欧美a在线看 | av高清网站在线观看 | 色吊丝在线永久观看最新版本 | 亚洲精品99久久久久中文字幕 | av免费看看 | 五月天婷婷在线视频 | 99视频精品免费观看, | 米奇影视7777 | 精品99999 | 一级淫片在线观看 | 亚洲国产精品久久久久久 | 91福利社在线观看 | 一级黄色片毛片 | 国产又黄又爽无遮挡 | 欧美精品在线观看免费 | 亚洲精品乱码久久久久 | 九九热免费精品视频 | 91完整版| 超碰久热 | 粉嫩av一区二区三区四区五区 | 久久中文字幕视频 | 九色91在线 | 久久精精品视频 | 国产精品福利在线播放 | 亚洲精品视频播放 | 伊人久在线| zzijzzij亚洲日本少妇熟睡 | 国产精品永久免费在线 | 天天爱天天射天天干天天 | 日韩精品综合在线 | 国产99免费视频 | 国产成人性色生活片 | 亚洲国产欧美在线看片xxoo | 免费黄色网址网站 | 日b黄色片 | a视频在线观看免费 | 91看片淫黄大片一级在线观看 | 色香天天 | 天天草天天草 | 久草在线观看视频免费 | 国产成人精品一区二区三区在线 | 国产99久久精品 | av午夜电影 | 91视频 - 114av| 99精品在线观看 | 免费开视频 | 国产一级片一区二区三区 | 99情趣网视频 | 亚洲资源在线 | 日韩一级电影在线 | 99久热在线精品 | 日韩一区二区三区在线看 | 国产精品成人免费一区久久羞羞 | 日日碰夜夜爽 | 久久视了| 91社区国产高清 | 亚洲精品乱码久久久久久蜜桃不爽 | 欧美精品久久99 | 免费国产一区二区 | 国产精品自产拍在线观看蜜 | 国产h在线观看 | 免费看成年人 | 亚洲精品乱码久久久久久写真 | 久久理论电影网 | 波多野结衣在线观看一区二区三区 | 天天草天天| 国产精品免费不卡 | 99综合久久 | av一区二区三区在线 | 日韩网站免费观看 | 亚洲污视频| 亚洲精品www | 久久九九免费 | 久久99久久99精品免观看粉嫩 | 久久久久久久国产精品影院 | 亚洲免费av观看 | 乱男乱女www7788| 久久人人爽人人爽人人片av软件 | 久久精品免视看 | 国产午夜精品一区二区三区欧美 | 久久免费视频在线观看6 | 婷婷激情五月 | 久久综合婷婷 | 日韩狠狠操 | 国产精品久久久久久欧美 | 人人干人人爽 | 欧美一区二区精美视频 | 成人黄色av网站 | 天天五月天色 | 中文字幕在线观看免费高清完整版 | 伊人av综合 | 久久99精品久久久久久久久久久久 | 国产小视频免费观看 | 99精品国产aⅴ | 久久久久久亚洲精品 | 亚洲精品国偷拍自产在线观看蜜桃 | 手机在线看a| 国产91大片 | 日韩国产精品久久久久久亚洲 | 天天爽天天爽夜夜爽 | 欧美日韩高清一区二区 国产亚洲免费看 | 欧美一级艳片视频免费观看 | 日韩久久一区 | 高清久久久 | 91片黄在线观看 | 亚洲精品国产成人av在线 | 国产精华国产精品 | 欧美精品免费在线 |