9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
學習啦 > 學習電腦 > 電腦硬件知識 > 鍵盤鼠標 > jst實現鼠標拖動選擇功能

jst實現鼠標拖動選擇功能

時間: 沈迪豪908 分享

jst實現鼠標拖動選擇功能

  學習前端的同學你們知道怎么用JavaScript簡單實現鼠標拖動選擇功能嗎?不知道的話跟著學習啦小編一起來學習用JavaScript簡單實現鼠標拖動選擇功能。

  JavaScript簡單實現鼠標拖動選擇功能的具體方法

  代碼如下:

  <style><!--

  body{padding-top:50px;padding-left:100px;padding-right:150px;}

  .fileDiv{float:left;width:100px;height:100px;text-align:center;line-height:100px;font-size:12px;border:1px solid #cccccc;margin-right:10px;margin-bottom:10px;}

  .seled{border:1px solid #ff0000;background-color:#D6DFF7;}

  --></style>

  <script type="text/javascript">// <![CDATA[

  Array.prototype.remove = function( item ){

  for( var i = 0 ; i < this.length ; i++ ){

  if( item == this[i] )

  break;

  }

  if( i == this.length )

  return;

  for( var j = i ; j < this.length - 1 ; j++ ){

  this[ j ] = this[ j + 1 ];

  }

  this.length--;

  }

  String.prototype.replaceAll = function (AFindText,ARepText){ raRegExp = new RegExp(AFindText,"g"); return this.replace(raRegExp,ARepText);}

  function getAllChildren(e) {

  return e.all ? e.all : e.getElementsByTagName('*');

  }

  document.getElementsBySelector = function(selector) {

  if (!document.getElementsByTagName) {

  return new Array();

  }

  var tokens = selector.split(' ');

  var currentContext = new Array(document);

  for (var i = 0; i < tokens.length; i++) {

  token = tokens[i].replace(/^s+/,'').replace(/s+$/,'');;

  if (token.indexOf('#') > -1) {

  var bits = token.split('#');

  var tagName = bits[0];

  var id = bits[1];

  var element = document.getElementById(id);

  if (tagName && element.nodeName.toLowerCase() != tagName) {

  return new Array();

  }

  currentContext = new Array(element);

  continue;

  }

  if (token.indexOf('.') > -1) {

  var bits = token.split('.');

  var tagName = bits[0];

  var className = bits[1];

  if (!tagName) {

  tagName = '*';

  }

  var found = new Array;

  var foundCount = 0;

  for (var h = 0; h < currentContext.length; h++) {

  var elements;

  if (tagName == '*') {

  elements = getAllChildren(currentContext[h]);

  } else {

  elements = currentContext[h].getElementsByTagName(tagName);

  }

  for (var j = 0; j < elements.length; j++) {

  found[foundCount++] = elements[j];

  }

  }

  currentContext = new Array;

  var currentContextIndex = 0;

  for (var k = 0; k < found.length; k++) {

  if (found[k].className && found[k].className.match(new RegExp('b'+className+'b'))) {

  currentContext[currentContextIndex++] = found[k];

  }

  }

  continue;

  }

  if (token.match(/^(w*)[(w+)([=~|^$*]?)=?"?([^]"]*)"?]$/)) {

  var tagName = RegExp. class="main">

學習啦 > 學習電腦 > 電腦硬件知識 > 鍵盤鼠標 > jst實現鼠標拖動選擇功能

jst實現鼠標拖動選擇功能

時間: 沈迪豪908 分享

  var attrName = RegExp.

jst實現鼠標拖動選擇功能

  學習前端的同學你們知道怎么用JavaScript簡單實現鼠標拖動選擇功能嗎?不知道的話跟著學習啦小編一起來學習用JavaScript簡單實現鼠標拖動選擇功能。

  JavaScript簡單實現鼠標拖動選擇功能的具體方法

  代碼如下:

  <style><!--

  body{padding-top:50px;padding-left:100px;padding-right:150px;}

  .fileDiv{float:left;width:100px;height:100px;text-align:center;line-height:100px;font-size:12px;border:1px solid #cccccc;margin-right:10px;margin-bottom:10px;}

  .seled{border:1px solid #ff0000;background-color:#D6DFF7;}

  --></style>

  <script type="text/javascript">// <![CDATA[

  Array.prototype.remove = function( item ){

  for( var i = 0 ; i < this.length ; i++ ){

  if( item == this[i] )

  break;

  }

  if( i == this.length )

  return;

  for( var j = i ; j < this.length - 1 ; j++ ){

  this[ j ] = this[ j + 1 ];

  }

  this.length--;

  }

  String.prototype.replaceAll = function (AFindText,ARepText){ raRegExp = new RegExp(AFindText,"g"); return this.replace(raRegExp,ARepText);}

  function getAllChildren(e) {

  return e.all ? e.all : e.getElementsByTagName('*');

  }

  document.getElementsBySelector = function(selector) {

  if (!document.getElementsByTagName) {

  return new Array();

  }

  var tokens = selector.split(' ');

  var currentContext = new Array(document);

  for (var i = 0; i < tokens.length; i++) {

  token = tokens[i].replace(/^s+/,'').replace(/s+$/,'');;

  if (token.indexOf('#') > -1) {

  var bits = token.split('#');

  var tagName = bits[0];

  var id = bits[1];

  var element = document.getElementById(id);

  if (tagName && element.nodeName.toLowerCase() != tagName) {

  return new Array();

  }

  currentContext = new Array(element);

  continue;

  }

  if (token.indexOf('.') > -1) {

  var bits = token.split('.');

  var tagName = bits[0];

  var className = bits[1];

  if (!tagName) {

  tagName = '*';

  }

  var found = new Array;

  var foundCount = 0;

  for (var h = 0; h < currentContext.length; h++) {

  var elements;

  if (tagName == '*') {

  elements = getAllChildren(currentContext[h]);

  } else {

  elements = currentContext[h].getElementsByTagName(tagName);

  }

  for (var j = 0; j < elements.length; j++) {

  found[foundCount++] = elements[j];

  }

  }

  currentContext = new Array;

  var currentContextIndex = 0;

  for (var k = 0; k < found.length; k++) {

  if (found[k].className && found[k].className.match(new RegExp('b'+className+'b'))) {

  currentContext[currentContextIndex++] = found[k];

  }

  }

  continue;

  }

  if (token.match(/^(w*)[(w+)([=~|^$*]?)=?"?([^]"]*)"?]$/)) {

  var tagName = RegExp.$1;

  var attrName = RegExp.$2;

  var attrOperator = RegExp.$3;

  var attrValue = RegExp.$4;

  if (!tagName) {

  tagName = '*';

  }

  var found = new Array;

  var foundCount = 0;

  for (var h = 0; h < currentContext.length; h++) {

  var elements;

  if (tagName == '*') {

  elements = getAllChildren(currentContext[h]);

  } else {

  elements = currentContext[h].getElementsByTagName(tagName);

  }

  for (var j = 0; j < elements.length; j++) {

  found[foundCount++] = elements[j];

  }

  }

  currentContext = new Array;

  var currentContextIndex = 0;

  var checkFunction;

  switch (attrOperator) {

  case '=':

  checkFunction = function(e) { return (e.getAttribute(attrName) == attrValue); };

  break;

  case '~':

  checkFunction = function(e) { return (e.getAttribute(attrName).match(new RegExp('b'+attrValue+'b'))); };

  break;

  case '|':

  checkFunction = function(e) { return (e.getAttribute(attrName).match(new RegExp('^'+attrValue+'-?'))); };

  break;

  case '^':

  checkFunction = function(e) { return (e.getAttribute(attrName).indexOf(attrValue) == 0); };

  break;

  case '$':

  checkFunction = function(e) { return (e.getAttribute(attrName).lastIndexOf(attrValue) == e.getAttribute(attrName).length - attrValue.length); };

  break;

  case '*':

  checkFunction = function(e) { return (e.getAttribute(attrName).indexOf(attrValue) > -1); };

  break;

  default :

  checkFunction = function(e) { return e.getAttribute(attrName); };

  }

  currentContext = new Array;

  var currentContextIndex = 0;

  for (var k = 0; k < found.length; k++) {

  if (checkFunction(found[k])) {

  currentContext[currentContextIndex++] = found[k];

  }

  }

  continue;

  }

  tagName = token;

  var found = new Array;

  var foundCount = 0;

  for (var h = 0; h < currentContext.length; h++) {

  var elements = currentContext[h].getElementsByTagName(tagName);

  for (var j = 0; j < elements.length; j++) {

  found[foundCount++] = elements[j];

  }

  }

  currentContext = found;

  }

  return currentContext;

  }

  function addEvent(eventType,eventFunc,eventObj){

  eventObj = eventObj || document;

  if(window.attachEvent) eventObj.attachEvent("on"+eventType,eventFunc);

  if(window.addEventListener) eventObj.addEventListener(eventType,eventFunc,false);

  }

  function clearEventBubble(evt){

  evt = evt || window.event;

  if (evt.stopPropagation) evt.stopPropagation(); else evt.cancelBubble = true;

  if (evt.preventDefault) evt.preventDefault(); else evt.returnValue = false;

  }

  function posXY(event){

  event = event || window.event;

  var posX = event.pageX || (event.clientX +

  (document.documentElement.scrollLeft || document.body.scrollLeft));

  var posY = event.pageY || (event.clientY +

  (document.documentElement.scrollTop || document.body.scrollTop));

  return {x:posX, y:posY};

  }

  var _selectedRegions = [];

  function RegionSelect(selRegionProp){

  this.regions =[];

  var _regions = document.getElementsBySelector(selRegionProp["region"]);

  if(_regions && _regions.length > 0){

  var _self = this;

  for(var i=0; i< _regions.length;i++){

  _regions[i].onmousedown = function(){

  var evt = window.event || arguments[0];

  if(!evt.shiftKey && !evt.ctrlKey){

  // 清空所有select樣式

  _self.clearSelections(_regions);

  this.className += " "+_self.selectedClass;

  // 清空selected數組,并加入當前select中的元素

  _selectedRegions = [];

  _selectedRegions.push(this);

  }else{

  if(this.className.indexOf(_self.selectedClass) == -1){

  this.className += " "+_self.selectedClass;

  _selectedRegions.push(this);

  }else{

  this.className = this.className.replaceAll(_self.selectedClass,"");

  _selectedRegions.remove(this);

  }

  }

  clearEventBubble(evt);

  }

  this.regions.push(_regions[i]);

  }

  }

  this.selectedClass = selRegionProp["selectedClass"];

  this.selectedRegion = [];

  this.selectDiv = null;

  this.startX = null;

  this.startY = null;

  }

  RegionSelect.prototype.select = function(){

  var _self = this;

  addEvent("mousedown",function(){

  var evt = window.event || arguments[0];

  _self.onBeforeSelect(evt);

  clearEventBubble(evt);

  },document);

  addEvent("mousemove",function(){

  var evt = window.event || arguments[0];

  _self.onSelect(evt);

  clearEventBubble(evt);

  },document);

  addEvent("mouseup",function(){

  _self.onEnd();

  },document);

  }

  RegionSelect.prototype.onBeforeSelect = function(evt){

  if(!document.getElementById("selContainer")){

  this.selectDiv = document.createElement("div");

  this.selectDiv.style.cssText = "position:absolute;width:0px;height:0px;font-size:0px;margin:0px;padding:0px;border:1px dashed #0099FF;background-color:#C3D5ED;z-index:1000;filter:alpha(opacity:60);opacity:0.6;display:none;";

  this.selectDiv.id = "selContainer";

  document.body.appendChild(this.selectDiv);

  }else{

  this.selectDiv = document.getElementById("selContainer");

  }

  this.startX = posXY(evt).x;

  this.startY = posXY(evt).y;

  this.isSelect = true;

  }

  RegionSelect.prototype.onSelect = function(evt){

  var _self = this;

  if(_self.isSelect){

  if(_self.selectDiv.style.display == "none") _self.selectDiv.style.display = "";

  var posX = posXY(evt).x;

  var poxY = posXY(evt).y;

  _self.selectDiv.style.left = Math.min(posX, this.startX);

  _self.selectDiv.style.top = Math.min(poxY, this.startY);

  _self.selectDiv.style.width = Math.abs(posX - this.startX);

  _self.selectDiv.style.height = Math.abs(poxY - this.startY);

  var regionList = _self.regions;

  for(var i=0; i< regionList.length; i++){

  var r = regionList[i], sr = _self.innerRegion(_self.selectDiv,r);

  if(sr && r.className.indexOf(_self.selectedClass) == -1){

  r.className = r.className + " "+_self.selectedClass;

  _selectedRegions.push(r);

  }else if(!sr && r.className.indexOf(_self.selectedClass) != -1){

  r.className = r.className.replaceAll(_self.selectedClass,"");

  _selectedRegions.remove(r);

  }

  }

  }

  }

  RegionSelect.prototype.onEnd = function(){

  if(this.selectDiv){

  this.selectDiv.style.display = "none";

  }

  this.isSelect = false;

  //_selectedRegions = this.selectedRegion;

  }

  // 判斷一個區域是否在選擇區內

  RegionSelect.prototype.innerRegion = function(selDiv, region){

  var s_top = parseInt(selDiv.style.top);

  var s_left = parseInt(selDiv.style.left);

  var s_right = s_left + parseInt(selDiv.offsetWidth);

  var s_bottom = s_top + parseInt(selDiv.offsetHeight);

  var r_top = parseInt(region.offsetTop);

  var r_left = parseInt(region.offsetLeft);

  var r_right = r_left + parseInt(region.offsetWidth);

  var r_bottom = r_top + parseInt(region.offsetHeight);

  var t = Math.max(s_top, r_top);

  var r = Math.min(s_right, r_right);

  var b = Math.min(s_bottom, r_bottom);

  var l = Math.max(s_left, r_left);

  if (b > t+5 && r > l+5) {

  return region;

  } else {

  return null;

  }

  }

  RegionSelect.prototype.clearSelections = function(regions){

  for(var i=0; i<regions.length;i++){

  regions[i].className = regions[i].className.replaceAll(this.selectedClass,"");

  }

  }

  function getSelectedRegions(){

  return _selectedRegions;

  }

  function showSelDiv(){

  var selInfo = "";

  var arr = getSelectedRegions();

  for(var i=0; i<arr.length;i++){

  selInfo += arr[i].innerHTML+"n";

  }

  alert("共選擇 "+arr.length+" 個文件,分別是:n"+selInfo);

  }

  // ]]></script>

  <p><button onclick="showSelDiv();">getRegions</button></p>

  <div class="fileDiv">file1</div>

  <div class="fileDiv">file2</div>

  <div class="fileDiv">file3</div>

  <div class="fileDiv">file4</div>

  <div class="fileDiv">file5</div>

  <div class="fileDiv">file6</div>

  <div class="fileDiv">file7</div>

  <div class="fileDiv">file8</div>

  <div style="float: left; width: 100%;"><button onclick="showSelDiv();">getRegions</button></div>

  <script type="text/javascript">// <![CDATA[

  new RegionSelect({

  region:'div.fileDiv',

  selectedClass: 'seled'

  }).select();

  // ]]></script>

猜你喜歡:

1.html調用js方法

2.id調用js方法

3.怎么用js實現簡單鼠標跟隨效果

4.lol上單JS強勢來襲

5.使用js實現鼠標點擊變色

6.js中構造函數是什么

7.JavaScript和JSP的區別

;

  var attrOperator = RegExp.;

  var attrValue = RegExp.;

  if (!tagName) {

  tagName = '*';

  }

  var found = new Array;

  var foundCount = 0;

  for (var h = 0; h < currentContext.length; h++) {

  var elements;

  if (tagName == '*') {

  elements = getAllChildren(currentContext[h]);

  } else {

  elements = currentContext[h].getElementsByTagName(tagName);

  }

  for (var j = 0; j < elements.length; j++) {

  found[foundCount++] = elements[j];

  }

  }

  currentContext = new Array;

  var currentContextIndex = 0;

  var checkFunction;

  switch (attrOperator) {

  case '=':

  checkFunction = function(e) { return (e.getAttribute(attrName) == attrValue); };

  break;

  case '~':

  checkFunction = function(e) { return (e.getAttribute(attrName).match(new RegExp('b'+attrValue+'b'))); };

  break;

  case '|':

  checkFunction = function(e) { return (e.getAttribute(attrName).match(new RegExp('^'+attrValue+'-?'))); };

  break;

  case '^':

  checkFunction = function(e) { return (e.getAttribute(attrName).indexOf(attrValue) == 0); };

  break;

  case '$':

  checkFunction = function(e) { return (e.getAttribute(attrName).lastIndexOf(attrValue) == e.getAttribute(attrName).length - attrValue.length); };

  break;

  case '*':

  checkFunction = function(e) { return (e.getAttribute(attrName).indexOf(attrValue) > -1); };

  break;

  default :

  checkFunction = function(e) { return e.getAttribute(attrName); };

  }

  currentContext = new Array;

  var currentContextIndex = 0;

  for (var k = 0; k < found.length; k++) {

  if (checkFunction(found[k])) {

  currentContext[currentContextIndex++] = found[k];

  }

  }

  continue;

  }

  tagName = token;

  var found = new Array;

  var foundCount = 0;

  for (var h = 0; h < currentContext.length; h++) {

  var elements = currentContext[h].getElementsByTagName(tagName);

  for (var j = 0; j < elements.length; j++) {

  found[foundCount++] = elements[j];

  }

  }

  currentContext = found;

  }

  return currentContext;

  }

  function addEvent(eventType,eventFunc,eventObj){

  eventObj = eventObj || document;

  if(window.attachEvent) eventObj.attachEvent("on"+eventType,eventFunc);

  if(window.addEventListener) eventObj.addEventListener(eventType,eventFunc,false);

  }

  function clearEventBubble(evt){

  evt = evt || window.event;

  if (evt.stopPropagation) evt.stopPropagation(); else evt.cancelBubble = true;

  if (evt.preventDefault) evt.preventDefault(); else evt.returnValue = false;

  }

  function posXY(event){

  event = event || window.event;

  var posX = event.pageX || (event.clientX +

  (document.documentElement.scrollLeft || document.body.scrollLeft));

  var posY = event.pageY || (event.clientY +

  (document.documentElement.scrollTop || document.body.scrollTop));

  return {x:posX, y:posY};

  }

  var _selectedRegions = [];

  function RegionSelect(selRegionProp){

  this.regions =[];

  var _regions = document.getElementsBySelector(selRegionProp["region"]);

  if(_regions && _regions.length > 0){

  var _self = this;

  for(var i=0; i< _regions.length;i++){

  _regions[i].onmousedown = function(){

  var evt = window.event || arguments[0];

  if(!evt.shiftKey && !evt.ctrlKey){

  // 清空所有select樣式

  _self.clearSelections(_regions);

  this.className += " "+_self.selectedClass;

  // 清空selected數組,并加入當前select中的元素

  _selectedRegions = [];

  _selectedRegions.push(this);

  }else{

  if(this.className.indexOf(_self.selectedClass) == -1){

  this.className += " "+_self.selectedClass;

  _selectedRegions.push(this);

  }else{

  this.className = this.className.replaceAll(_self.selectedClass,"");

  _selectedRegions.remove(this);

  }

  }

  clearEventBubble(evt);

  }

  this.regions.push(_regions[i]);

  }

  }

  this.selectedClass = selRegionProp["selectedClass"];

  this.selectedRegion = [];

  this.selectDiv = null;

  this.startX = null;

  this.startY = null;

  }

  RegionSelect.prototype.select = function(){

  var _self = this;

  addEvent("mousedown",function(){

  var evt = window.event || arguments[0];

  _self.onBeforeSelect(evt);

  clearEventBubble(evt);

  },document);

  addEvent("mousemove",function(){

  var evt = window.event || arguments[0];

  _self.onSelect(evt);

  clearEventBubble(evt);

  },document);

  addEvent("mouseup",function(){

  _self.onEnd();

  },document);

  }

  RegionSelect.prototype.onBeforeSelect = function(evt){

  if(!document.getElementById("selContainer")){

  this.selectDiv = document.createElement("div");

  this.selectDiv.style.cssText = "position:absolute;width:0px;height:0px;font-size:0px;margin:0px;padding:0px;border:1px dashed #0099FF;background-color:#C3D5ED;z-index:1000;filter:alpha(opacity:60);opacity:0.6;display:none;";

  this.selectDiv.id = "selContainer";

  document.body.appendChild(this.selectDiv);

  }else{

  this.selectDiv = document.getElementById("selContainer");

  }

  this.startX = posXY(evt).x;

  this.startY = posXY(evt).y;

  this.isSelect = true;

  }

  RegionSelect.prototype.onSelect = function(evt){

  var _self = this;

  if(_self.isSelect){

  if(_self.selectDiv.style.display == "none") _self.selectDiv.style.display = "";

  var posX = posXY(evt).x;

  var poxY = posXY(evt).y;

  _self.selectDiv.style.left = Math.min(posX, this.startX);

  _self.selectDiv.style.top = Math.min(poxY, this.startY);

  _self.selectDiv.style.width = Math.abs(posX - this.startX);

  _self.selectDiv.style.height = Math.abs(poxY - this.startY);

  var regionList = _self.regions;

  for(var i=0; i< regionList.length; i++){

  var r = regionList[i], sr = _self.innerRegion(_self.selectDiv,r);

  if(sr && r.className.indexOf(_self.selectedClass) == -1){

  r.className = r.className + " "+_self.selectedClass;

  _selectedRegions.push(r);

  }else if(!sr && r.className.indexOf(_self.selectedClass) != -1){

  r.className = r.className.replaceAll(_self.selectedClass,"");

  _selectedRegions.remove(r);

  }

  }

  }

  }

  RegionSelect.prototype.onEnd = function(){

  if(this.selectDiv){

  this.selectDiv.style.display = "none";

  }

  this.isSelect = false;

  //_selectedRegions = this.selectedRegion;

  }

  // 判斷一個區域是否在選擇區內

  RegionSelect.prototype.innerRegion = function(selDiv, region){

  var s_top = parseInt(selDiv.style.top);

  var s_left = parseInt(selDiv.style.left);

  var s_right = s_left + parseInt(selDiv.offsetWidth);

  var s_bottom = s_top + parseInt(selDiv.offsetHeight);

  var r_top = parseInt(region.offsetTop);

  var r_left = parseInt(region.offsetLeft);

  var r_right = r_left + parseInt(region.offsetWidth);

  var r_bottom = r_top + parseInt(region.offsetHeight);

  var t = Math.max(s_top, r_top);

  var r = Math.min(s_right, r_right);

  var b = Math.min(s_bottom, r_bottom);

  var l = Math.max(s_left, r_left);

  if (b > t+5 && r > l+5) {

  return region;

  } else {

  return null;

  }

  }

  RegionSelect.prototype.clearSelections = function(regions){

  for(var i=0; i<regions.length;i++){

  regions[i].className = regions[i].className.replaceAll(this.selectedClass,"");

  }

  }

  function getSelectedRegions(){

  return _selectedRegions;

  }

  function showSelDiv(){

  var selInfo = "";

  var arr = getSelectedRegions();

  for(var i=0; i<arr.length;i++){

  selInfo += arr[i].innerHTML+"n";

  }

  alert("共選擇 "+arr.length+" 個文件,分別是:n"+selInfo);

  }

  // ]]></script>

  <p><button onclick="showSelDiv();">getRegions</button></p>

  <div class="fileDiv">file1</div>

  <div class="fileDiv">file2</div>

  <div class="fileDiv">file3</div>

  <div class="fileDiv">file4</div>

  <div class="fileDiv">file5</div>

  <div class="fileDiv">file6</div>

  <div class="fileDiv">file7</div>

  <div class="fileDiv">file8</div>

  <div style="float: left; width: 100%;"><button onclick="showSelDiv();">getRegions</button></div>

  <script type="text/javascript">// <![CDATA[

  new RegionSelect({

  region:'div.fileDiv',

  selectedClass: 'seled'

  }).select();

  // ]]></script>

猜你喜歡:

1.html調用js方法

2.id調用js方法

3.怎么用js實現簡單鼠標跟隨效果

4.lol上單JS強勢來襲

5.使用js實現鼠標點擊變色

6.js中構造函數是什么

7.JavaScript和JSP的區別

1952176 主站蜘蛛池模板: 亚洲精中文字幕二区三区| 国产精品人一区二区三区| 亚洲AV成人片不卡无码| 久久久精品2019中文字幕之3| 日本人妻巨大乳挤奶水免费| 精品久久久久久成人AV| 少妇人妻偷人精品系列| 亚洲国产成人精品女人久| 欧美色欧美亚洲高清在线观看| 9丨精品国产高清自在线看| 人妻日韩人妻中文字幕| 久久国产成人高清精品亚洲| 成人午夜免费无码视频在线观看| 国产日产亚洲系列av| 国产成人 综合 亚洲欧洲| 亚洲欧美高清在线精品一区二区 | 国产精品亚洲一区二区三区喷水| 欧美日韩精品一区二区视频| 亚洲一区二区经典在线播放| 中文字幕乱码熟妇五十中出| 日韩人妻一区中文字幕| 97欧美精品系列一区二区| 精品2020婷婷激情五月| 国产精品久久久国产盗摄| 黄色亚洲一区二区三区四区| 日韩深夜免费在线观看| 日韩精品永久免费播放平台| 大香伊蕉在人线国产免费| 亚洲天堂av免费在线看| 国内精品无码一区二区三区| 日韩剧情片电影网站| 国产成年码av片在线观看| 国产精品亚洲五月天高清| 成人无码午夜在线观看| 另类专区一区二区三区| 国产午夜亚洲精品久久| 日韩精品国产另类专区| 成人无号精品一区二区三区| 真实国产乱子伦视频| 国产精品久久久久AV福利动漫| 亚洲熟妇自偷自拍另类|