校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > ajax+asp無限級分類樹型結構(帶數據庫)

ajax+asp無限級分類樹型結構(帶數據庫)

熱門標簽:地圖標注服務哪家好 地圖標注宅基地 智能電銷機器人適用于哪些行業 武漢營銷電話機器人軟件 長沙防封電銷卡品牌 外呼系統還用卡么 西寧公司外呼系統平臺 徐州人工智能電銷機器人好用嗎 騰訊地圖標注商戶關閉
IE測試通過,FF有點小BUG
Cls_Leibie.asp
復制代碼 代碼如下:

%
'數據庫字段為類屬性,添加、刪除、修改、操作檢查等函數為類的方法
Class Cls_Leibie
Private nClassID,sClassName,nParentID,sParentPath,nDepth,nRootID,nChild,nOrderID,sFilePath '定義私有變量(類的屬性,即數據庫字段對應的變量)
Private rs,sql,ErrorStr
Private Sub Class_Initialize()
ErrorStr="" '初始化錯誤信息為空
End Sub
Private Sub Class_Terminate() '銷毀類時關閉數據庫連接
If IsObject(Conn) Then
Conn.Close
Set Conn = Nothing
End If
End Sub
'*******************設置各個屬性******************************************************
Public Property Let ClassID(str) '獲取類別ID(主鍵)
nClassID=str
call ClassProperty() '獲取類別ID時調用此函數讀出類的所有屬性
End Property
Public Property Let ClassName(str) '獲取類別名稱
sClassName=str
End Property
Public Property Get ClassName
ClassName=sClassName
End Property
Public Property Let ParentID(str) '獲取類別父ID
nParentID=str
End Property
Public Property Get ParentID
ParentID=nParentID
End Property
Public Property Let ParentPath(str) '獲取父路徑ID
sParentPath=str
End Property
Public Property Get ParentPath
ParentPath=sParentPath
End Property
Public Property Let Depth(str) '獲取類別深度
nDepth=str
End Property
Public Property Get Depth
Depth=nDepth
End Property
Public Property Let RootID(str) '獲取類別根ID
nRootID=str
End Property
Public Property Get RootID
RootID=nRootID
End Property
Public Property Let Child(str) '子類別個數
nChild=str
End Property
Public Property Get Child
Child=nChild
End Property
Public Property Let OrderID(str) '排序ID
nOrderID=str
End Property
Public Property Get OrderID
OrderID=nOrderID
End Property
Public Property Let FilePath(str) '類別文件根目錄(生成靜態文件路徑,小站老楊Web技術博客用的是生成靜態,故設置此字段)
sFilePath=str
End Property
Public Property Get FilePath
FilePath=sFilePath
End Property
'******************************************************************************
Private Sub ClassProperty() '讀取類的所有屬性
sql="select * from ArticleClass where ClassID=" nClassID
set rs=conn.execute(sql)
if not rs.eof then
sClassName=trim(rs("ClassName"))
nParentID=trim(rs("ParentID"))
sParentPath=trim(rs("ParentPath"))
nDepth=trim(rs("Depth"))
nRootID=trim(rs("RootID"))
nChild=trim(rs("Child"))
nOrderID=trim(rs("OrderID"))
sFilePath=trim(rs("FilePath"))
end if
set rs=nothing
End Sub
Public Function FAddCheck() '類別添加檢查函數,結果為0表示通過檢查,為1表示有錯誤發生,有錯誤發生時退出函數,將錯誤信息寫入錯誤變量ErrorStr
dim temprs
FAddCheck=0
if sClassName="" then '類名為空
FAddCheck=1
ErrorStr="類名不能為空!"
exit Function
else
if nParentID="" then '父id為空
FAddCheck=1
ErrorStr="父id不能為空!"
exit Function
else
if nParentID>0 then
set temprs=conn.execute("select ClassID From ArticleClass where ClassID=" nParentID) '父類別不存在
if temprs.eof then
FAddCheck=1
ErrorStr="所屬類別不存在或已經被刪除!"
exit Function
else
sql="select ClassID from ArticleClass where ClassName='" sClassName "' and ParentID=" nParentID '類名重復
set rs=conn.execute(sql)
if not rs.eof then
FAddCheck=1
ErrorStr="類名重復!"
exit Function
end if
set rs=nothing
end if
set temprs=nothing
else
sql="select ClassID from ArticleClass where ClassName='" sClassName "' and ParentID=" nParentID '類名重復
set rs=conn.execute(sql)
if not rs.eof then
FAddCheck=1
ErrorStr="類名重復!"
exit Function
end if
set rs=nothing
end if
end if
end if
End Function
Public Sub SAdd()
dim maxClassID,maxRootID
set rs = conn.execute("select Max(ClassID) from ArticleClass") '查找當前數據庫中最大的類別id,如果沒有數據則設置為0,要插入的類別id為當前最大id加1
maxClassID=rs(0)
if isnull(maxClassID) then
maxClassID=0
end if
set rs=nothing
nClassID=maxClassID+1
set rs=conn.execute("select max(rootid) From ArticleClass") '查找當前數據庫中最大的根id,如果沒有數據則設置為0,要插入的根id為當前最大根id加1
maxRootID=rs(0)
if isnull(maxRootID) then
maxRootID=0
end if
nRootID=maxRootID+1
set rs=conn.execute("select RootID,Depth,ParentPath,Child,OrderID From ArticleClass where ClassID=" nParentID) '查找父類別相應信息
if not rs.eof then
nRootID=trim(rs("Rootid")) '根id與父類別根id相同
sParentPath=trim(rs("ParentPath")) "," nParentID
if cint(trim(nParentID))>0 then '父id大于0則有父類別,故要插入的類別的深度父類別的深度加1,父id不大于0則當前要插入的類別為根類別,則深度為0
nDepth=cint(trim(rs("Depth")))+1
else
nDepth=0
end if
if cint(trim(rs("Child")))>0 then
dim rsPrevOrderID
'得到與本欄目同級的最后一個欄目的OrderID
set rsPrevOrderID=conn.execute("select Max(OrderID) From ArticleClass where ParentID=" ParentID)
prevOrderID=rsPrevOrderID(0)
'得到同一父欄目但比本欄目級數大的子欄目的最大OrderID,如果比前一個值大,則改用這個值。
set rsPrevOrderID=conn.execute("select Max(OrderID) From ArticleClass where ParentPath like '" ParentPath ",%'")
if (not(rsPrevOrderID.bof and rsPrevOrderID.eof)) then
if not IsNull(rsPrevOrderID(0)) then
if rsPrevOrderID(0)>prevOrderID then
prevOrderID=rsPrevOrderID(0)
end if
end if
end if
set rsPrevOrderID=nothing
end if
nOrderID=prevOrderID+1
else
nOrderID=0
sParentPath="0"
nDepth=0
end if
set rs=nothing
nChild=0
sql="insert into ArticleClass (ClassID,ClassName,ParentID,ParentPath,Depth,RootID,Child,OrderID,FilePath) values (" nClassID ",'" sClassName "'," nParentID ",'" sParentPath "'," nDepth "," nRootID "," nChild "," nOrderID ",'" sFilePath "')"
conn.execute(sql)
if ParentID>0 then
'更新其父類的子欄目數
conn.execute("update ArticleClass set child=child+1 where ClassID=" nParentID)
'更新該欄目排序以及大于本需要和同在本分類下的欄目排序序號
if prevOrderID>"" then
conn.execute("update ArticleClass set OrderID=OrderID+1 where rootid=" nRootid " and OrderID>" prevOrderID " and ClassID>" nClassID)
end if
end if
End Sub
Public Function FEditCheck() '類別修改檢查函數,結果為0表示通過檢查,為1表示有錯誤發生,有錯誤發生時退出函數,將錯誤信息寫入錯誤變量ErrorStr
dim temprs
FEditCheck=0
if nClassID="" then '類別id為空
FEditCheck=1
ErrorStr="類別id不能為空!"
exit Function
else
if sClassName="" then '類名為空
FEditCheck=1
ErrorStr="類名不能為空!"
exit Function
else
if nParentID>0 then
set temprs=conn.execute("select ClassID From ArticleClass where ClassID=" nParentID) '父類別不存在
if temprs.eof then
FAddCheck=1
ErrorStr="所屬類別不存在或已經被刪除!"
exit Function
else
set rs=conn.execute("select ClassID from ArticleClass where ClassName='" sClassName "' and ClassID>" nClassID "and ParentID=" nParentID)
if not rs.eof then '類名重復
FEditCheck=1
ErrorStr="類名重復!"
exit Function
end if
set rs=nothing
end if
set temprs=nothing
end if
end if
end if
End Function
Public Sub SEdit() '類別修改
sql="update ArticleClass set ClassName='" sClassName "',FilePath='" sFilePath "' where ClassID=" nClassID
conn.execute(sql)
End Sub
Public Function FDeleteCheck() '類別刪除檢查函數,結果為0表示通過檢查,為1表示有錯誤發生,有錯誤發生時退出函數,將錯誤信息寫入錯誤變量ErrorStr
FDeleteCheck=0 '這里刪除沒有寫級聯刪除文章部分的代碼,刪除時應該級聯刪除
if nClassID="" then
FDeleteCheck=1
ErrorStr="要刪除的類別id不能為空!"
exit Function
else
set rs=conn.execute("select Child from ArticleClass where ClassID=" nClassID)
if rs.bof and rs.eof then
FDeleteCheck=1
ErrorStr="類別不存在或者已經被刪除!"
exit Function
else
if trim(rs("Child"))>0 then
FDeleteCheck=1
ErrorStr="該類別含有子類別,請刪除其子類別后再進行刪除本類別的操作!"
exit Function
end if
end if
end if
End Function
Public Sub SDelete()
if nDepth>0 then '修改父id孩子數
conn.execute("update ArticleClass set child=child-1 where child>0 and ClassID=" nParentID)
end if
sql="delete from ArticleClass where ClassID=" nClassID
conn.execute(sql)
End Sub
Public Function FErrStr()
FErrStr=ErrorStr
End Function
End Class
%>
index.asp
%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
%
'作者站點:www.guaishi.org
'郵箱:guaishiorg@126.com
'QQ:514777880
Session.CodePage=65001
Response.Charset = "utf-8"
%>
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
html xmlns="http://www.w3.org/1999/xhtml">
head>
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
title>/title>
style type="text/css">
body{margin:0;padding:0;font-size:12px; background-color:#FFFFFF;}
ul{ list-style-type:none; margin:0 0 0 20px; padding:0;}
li{ white-space:nowrap; padding:0;}
.childdiv{ background:url(images/dot.gif);background-repeat:repeat-y;}
span { cursor:pointer;}
/style>
script type="text/javascript">
var xmlHttp; //定義一個全局變量
var currentID=1;//設置當前選中ID,如果此ID不存在則會發生js錯誤
//類別顯示主函數
//cid--子類別所在層id
//id --類別id
//pid--[+]和[-]圖標id
//fid--類別圖標id
function DivDisplay(cid,id,pid,fid)
{
if (GetId(cid).style.display=='') //子類別不顯示時圖標顯示控制
{
GetId(cid).style.display='none';
GetId(pid).src = 'images/closed.gif';
GetId(fid).src = 'images/folder.gif';
}
else //展開子類別時的操作
{
GetId(cid).style.display='';
GetId(pid).src = 'images/opened.gif';
GetId(fid).src = 'images/folderopen.gif';
if (GetId(cid).innerHTML==''||GetId(cid).innerHTML=='正在提交數據...')
{
GetId(cid).innerHTML='';
ShowChild(cid,id); //調用顯示子類別函數
}
}
}
//與上一個函數作用相同,只作用在最后一個類別
function DivDisplay2(cid,id,pid,fid)
{
if (GetId(cid).style.display=='')
{
GetId(cid).style.display='none';
GetId(pid).src = 'images/lastclosed.gif';
GetId(fid).src = 'images/folder.gif';
}
else
{
GetId(cid).style.display='';
GetId(pid).src = 'images/lastopen.gif';
GetId(fid).src = 'images/folderopen.gif';
if (GetId(cid).innerHTML==''||GetId(cid).innerHTML=='正在提交數據...')
{
GetId(cid).innerHTML='';
ShowChild(cid,id);
}
}
}
//類別添加函數
//id--類別id
function ClassAdd(id){
if (GetId("p"+id).src.indexOf("last")>0){ //最后一個類別時的添加操作
if (!GetId("p"+id).onclick){
GetId("p"+id).onclick=function (){DivDisplay2("c"+id,id,"p"+id,"f"+id);}; //為[+]和[-]添加單擊事件
GetId("s"+id).ondblclick=function (){DivDisplay2("c"+id,id,"p"+id,"f"+id);}; //為顯示類別文字的span添加雙擊事件
GetId("p"+id).src = 'images/lastopen.gif';
}
}
else{
if (!GetId("p"+id).onclick){ //不為最后一個類別的添加操作
GetId("p"+id).onclick=function (){DivDisplay("c"+id,id,"p"+id,"f"+id);};
GetId("s"+id).ondblclick=function (){DivDisplay("c"+id,id,"p"+id,"f"+id);};
GetId("p"+id).src = 'images/opened.gif';
}
}
GetId("c"+id).style.display='';
ShowChild("c"+id,id);
}
//類別修改函數
function ClassEdit(id,classname){
GetId("s"+id).innerHTML=classname;
}
//有多個子類別的類別的刪除函數
function ClassDel(id){
ShowChild("c"+id,id);
CurrentSelect(currentID,id)
BrowseRight(id);
}
//只有一個子類別的類別的刪除函數
function ClassDel1(id){
if (GetId("p"+id).src.indexOf("last")>0){ //當類別是當前類別的最后一個類別時
GetId("p"+id).style.cursor="cursor"; //設置圖標的鼠標經過樣式
GetId("p"+id).onclick=function (){}; //因為只有一個子類別刪除后就不再有子類別,故將圖標單擊事件修改為空函數
GetId("s"+id).ondblclick=function (){}; //同上
GetId("p"+id).src = 'images/lastnochild.gif'; //圖標設置
}
else{
GetId("p"+id).style.cursor="cursor"; //非最后一個類別的刪除操作
GetId("p"+id).onclick=function (){};
GetId("s"+id).ondblclick=function (){};
GetId("p"+id).src = 'images/nofollow2.gif'; //這里的圖標設置與前面不一樣
}
ShowChild("c"+id,id);
CurrentSelect(currentID,id);
BrowseRight(id);
}
//向右邊框架傳遞參數
function BrowseRight(id){
CurrentSelect(currentID,id);
top.ContentFrame.location="../ArticleMain.asp?ClassID="+ id;
}
//設置類別選中狀態的函數
function CurrentSelect(oldid,newid){
currentID=newid;
document.getElementById("s"+oldid).style.backgroundColor="white";
document.getElementById("s"+currentID).style.backgroundColor="#C0C0E9";
}
//創建XMLHttpRequest對象
function CreateXMLHttpRequest()
{
if (window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
xmlHttp = new XMLHttpRequest();
}
}
//Ajax處理函數
//id,層id
//rid,數據在表中的id
function ShowChild(cid,id)
{
CreateXMLHttpRequest();
if(xmlHttp)
{
xmlHttp.open('POST','child.asp',true);
xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
var SendData = 'id='+id;
xmlHttp.send(SendData);
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
GetId(cid).innerHTML = xmlHttp.responseText;
}
else
{
GetId(cid).innerHTML='出錯:'+xmlHttp.statusText;
}
}
else
{
GetId(cid).innerHTML="正在提交數據...";
}
}
}
else
{
GetId(cid).innerHTML='抱歉,您的瀏覽器不支持XMLHttpRequest,請使用IE6以上版本!';
}
}
//取得頁面對象
//id,層id
function GetId(id)
{
return document.getElementById(id);
}
/script>
/head>
body>
!--#include file="../conn.asp"-->
%
'顯示根目錄
sql="select *,(select top 1 ClassID from ArticleClass where Depth=0 order by ClassID desc) as lastid from ArticleClass where Depth=0 order by ClassID"
set rs=conn.execute(sql)
if not rs.eof then
response.Write "ul>"vbcr
do while not rs.eof
if cint(trim(rs("ClassID")))=cint(trim(rs("lastid"))) then
if rs("Child")>0 then
response.Write "li>img id='p"rs("ClassID")"' src=""images/lastclosed.gif"" onclick=""DivDisplay2('c"rs("ClassID")"','"rs("ClassID")"','p"rs("ClassID")"','f" rs("ClassID") "')"" style=""cursor : hand;"" align=""absmiddle"">"
response.Write "img src=""images/folder.gif"" align=""absmiddle"" id='f" rs("ClassID") "' /> span id='s" trim(rs("ClassID")) "' onclick=""BrowseRight(" trim(rs("ClassID")) ")"" ondblclick=""DivDisplay2('c"rs("ClassID")"','"rs("ClassID")"','p"rs("ClassID")"','f" rs("ClassID") "')"">" rs("ClassName") "/span>"
else
response.Write "li>img id='p" rs("ClassID") "' src=""images/lastnochild.gif"" align=""absmiddle"" />"
response.Write "img src=""images/folder.gif"" align=""absmiddle"" id='f" rs("ClassID") "' /> span id='s" trim(rs("ClassID")) "' onclick=""BrowseRight(" trim(rs("ClassID")) ")"">" rs("ClassName") "/span>"
end if
else
if rs("Child")>0 then
response.Write "li>img id='p"rs("ClassID")"' src=""images/closed.gif"" onclick=""DivDisplay('c"rs("ClassID")"','"rs("ClassID")"','p"rs("ClassID")"','f" rs("ClassID") "')"" style=""cursor : hand;"" align=""absmiddle"">"
response.Write "img src=""images/folder.gif"" align=""absmiddle"" id='f" rs("ClassID") "' /> span id='s" trim(rs("ClassID")) "' onclick=""BrowseRight(" trim(rs("ClassID")) ")"" ondblclick=""DivDisplay('c"rs("ClassID")"','"rs("ClassID")"','p"rs("ClassID")"','f" rs("ClassID") "')"">" rs("ClassName") "/span>"
else
response.Write "li>img id='p" rs("ClassID") "' src=""images/nofollow2.gif"" align=""absmiddle"" />"
response.Write "img src=""images/folder.gif"" align=""absmiddle"" id='f" rs("ClassID") "' /> span id='s" trim(rs("ClassID")) "' onclick=""BrowseRight(" trim(rs("ClassID")) ")"">" rs("ClassName") "/span>"
end if
end if
if cint(trim(rs("ClassID")))=cint(trim(rs("lastid"))) then
response.Write "div id='c"rs("ClassID")"' style='display:none;'>/div>"
else
response.Write "div id='c"rs("ClassID")"' style='display:none;' class=""childdiv"">/div>"
end if
response.Write "/li>"vbcr
rs.movenext
loop
response.Write "/ul>"vbcr
end if
rs.close
set rs=nothing
conn.close
Set conn = Nothing
%>
/body>
/html>

打包下載地址 http://xiazai.jb51.net/200906/yuanma/ajaxtree_51281.rar
您可能感興趣的文章:
  • jstree創建無限分級樹的方法【基于ajax動態創建子節點】
  • 一個很簡單的jquery+xml+ajax的無刷新樹結構(無css,后臺是c#)
  • 完成了AJAX樹附原理分析
  • ajax+asp無限級分類樹型結構的代碼
  • 利用Dojo和JSON建立無限級AJAX動態加載的功能模塊樹
  • 基于jstree使用AJAX請求獲取數據形成樹

標簽:荊門 通遼 運城 通化 鷹潭 雅安 巴彥淖爾 普洱

巨人網絡通訊聲明:本文標題《ajax+asp無限級分類樹型結構(帶數據庫)》,本文關鍵詞  ajax+asp,無限,級,分類,樹型,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ajax+asp無限級分類樹型結構(帶數據庫)》相關的同類信息!
  • 本頁收集關于ajax+asp無限級分類樹型結構(帶數據庫)的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    午夜欧美在线一二页| 免费观看久久久4p| 国产精品乱人伦中文| 日韩精品一区二区三区视频在线观看| 一本久道中文字幕精品亚洲嫩| 成人免费精品视频| 国产盗摄一区二区| 国产精品一二三四五| 久久草av在线| 国产主播一区二区三区| 国内精品久久久久影院一蜜桃| 男男视频亚洲欧美| 麻豆精品视频在线观看免费| 蜜桃久久av一区| 韩国一区二区三区| 国产在线视频一区二区| 国产在线一区二区综合免费视频| 久久99热这里只有精品| 国产一区二三区| 国产盗摄一区二区三区| 国产91在线看| 97精品久久久久中文字幕| 日本高清免费不卡视频| 欧美性一二三区| 日韩欧美国产小视频| 精品国产一区久久| 国产日韩影视精品| 国产精品免费av| 欧美在线视频全部完| 欧美一区二区精品| 日本丰满少妇一区二区三区| 日本黄色一区二区| 欧美日韩国产系列| 日韩一区二区三区视频| 精品国产凹凸成av人网站| 中文字幕av一区二区三区高| 国产精品二区一区二区aⅴ污介绍| 亚洲啪啪综合av一区二区三区| 亚洲精品久久久蜜桃| 日韩福利视频导航| 狠狠色丁香婷婷综合久久片| 成人在线视频首页| 欧美性生交片4| 日韩免费视频一区二区| 中文一区一区三区高中清不卡| 亚洲综合一二三区| 蜜桃视频第一区免费观看| 粉嫩一区二区三区性色av| 91在线云播放| 欧美变态口味重另类| 亚洲欧美自拍偷拍色图| 婷婷综合久久一区二区三区| 韩日av一区二区| 色偷偷久久人人79超碰人人澡| 欧美一区二区三区视频在线观看| 久久久91精品国产一区二区精品| 亚洲综合自拍偷拍| 韩国v欧美v亚洲v日本v| 91一区在线观看| 欧美电影免费观看完整版| 国产精品久久久久久久久图文区| 五月激情六月综合| 99re热视频精品| 欧美变态凌虐bdsm| 亚洲午夜私人影院| 国产精品一二二区| 欧美日韩三级在线| 一区在线观看视频| 精彩视频一区二区| 欧美日韩亚洲高清一区二区| 欧美激情一区在线| 日韩国产精品大片| 91国偷自产一区二区三区观看| 久久影院午夜片一区| 午夜精彩视频在线观看不卡| 丁香激情综合国产| 欧美刺激脚交jootjob| 亚洲午夜在线电影| 99久久精品国产一区二区三区| 精品国产区一区| 天堂资源在线中文精品| 91美女片黄在线观看91美女| 久久久久久久久久久久久夜| 三级不卡在线观看| 欧美日韩一级视频| 亚洲日穴在线视频| 成人妖精视频yjsp地址| 久久久五月婷婷| 精品一区二区三区日韩| 91精品国产一区二区三区蜜臀| 亚洲人成亚洲人成在线观看图片| 国产成人午夜片在线观看高清观看| 欧美日韩aaaaa| 一区二区三区四区国产精品| 国产成人99久久亚洲综合精品| 久久这里都是精品| 久久精工是国产品牌吗| 91精品婷婷国产综合久久性色| 亚洲色图欧洲色图| av在线播放不卡| 国产精品美女久久久久av爽李琼| 国内精品伊人久久久久av影院| 91精品国产乱码| 石原莉奈一区二区三区在线观看| 欧美日韩另类一区| 亚洲电影视频在线| 欧美丝袜丝交足nylons| 一区二区三区久久久| 日本韩国一区二区三区视频| 亚洲三级免费电影| 99久久免费国产| 亚洲天堂av一区| 色伊人久久综合中文字幕| 亚洲日本va在线观看| 色哟哟一区二区在线观看| 一区二区三区日本| 欧美日韩一级黄| 五月天国产精品| 欧美一级久久久| 天堂成人免费av电影一区| 欧美一区二区三区男人的天堂| 午夜精品久久久久久不卡8050| 9191精品国产综合久久久久久| 五月综合激情网| 91精品国产色综合久久不卡蜜臀| 日本女人一区二区三区| 日韩欧美区一区二| 国产在线精品一区二区不卡了 | 9191国产精品| 日本不卡视频在线观看| 欧美乱妇15p| 日本aⅴ精品一区二区三区 | 国产免费久久精品| 成人av电影观看| 亚洲一区在线观看网站| 欧美午夜精品久久久久久孕妇| 亚洲综合一区二区三区| 91精品婷婷国产综合久久| 狠狠色2019综合网| 亚洲日本在线视频观看| 欧美疯狂性受xxxxx喷水图片| 日本不卡的三区四区五区| 国产性色一区二区| 色哟哟亚洲精品| 精品一区二区三区av| 亚洲欧洲av在线| 91麻豆精品国产| 国产精品亚洲一区二区三区妖精 | 欧美日韩国产另类不卡| 精品影院一区二区久久久| 国产精品久久久久天堂| 在线不卡免费av| 成人一区二区三区在线观看| 亚洲国产精品天堂| 久久久久99精品一区| 欧美视频在线观看一区| 国产成人av电影| 日本中文一区二区三区| 中文字幕在线不卡一区二区三区| 欧美剧情片在线观看| 懂色一区二区三区免费观看| 亚洲bt欧美bt精品| 日本一区二区动态图| 9191成人精品久久| 99精品欧美一区二区三区综合在线| 午夜一区二区三区在线观看| 久久久99久久| 欧美精品乱人伦久久久久久| 粉嫩aⅴ一区二区三区四区五区 | 99re在线精品| 韩国欧美国产一区| 亚洲一区二区三区在线播放| 国产亚洲精品久| 欧美日韩视频一区二区| fc2成人免费人成在线观看播放| 日韩高清不卡一区二区三区| 亚洲欧美视频在线观看视频| 久久久久久久综合| 欧美一区二区私人影院日本| 91麻豆免费视频| 国产高清亚洲一区| 蜜臀精品一区二区三区在线观看| 一区二区三区四区蜜桃| 中文字幕一区二区三区色视频| 欧美精品一区二区不卡| 91精品久久久久久久91蜜桃| 色综合天天天天做夜夜夜夜做| 国产剧情在线观看一区二区| 免费观看一级欧美片| 天天影视色香欲综合网老头| 亚洲三级在线看| 中文字幕一区二区三区色视频| 国产午夜亚洲精品理论片色戒| 日韩欧美国产三级电影视频| 欧美精品精品一区| 欧美午夜精品免费| 在线视频你懂得一区| 成人av网址在线| 粉嫩13p一区二区三区| 国产精品原创巨作av|