亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? elemdragclass.js

?? Dreamweaver MX 2004中文版精彩設計百例源代碼
?? JS
字號:
// Copyright 1998,1999 Macromedia, Inc. All rights reserved.

//Constructs a drag and drop element
function MM_drag(theParent, theName, theInitialValue,
                theIsDraggable, theIsTarget,
                theSnapsOnMiss, theSnapsOnIncorrect) {
  // properties
  this.initialValue = theInitialValue;
  this.value = '';
  this.disabled = true;
  
  this.snapsOnMiss = theSnapsOnMiss;
  this.snapsOnIncorrect = theSnapsOnIncorrect;
  this.origPosX = '';
  this.origPosY = '';
  
  this._parent = theParent;
  this._name = theName;
  this._obj = '';
  this._self = theParent._self+".e['"+theName+"']";
  this._singleChoice = true;

  this._isDraggable = theIsDraggable;
  this._isTarget = theIsTarget;
  
  this._posX = '';
  this._posY = '';
  this._prevPosX = '';
  this._prevPosY = '';
  this._width = '';
  this._height = '';

  this.c = new Array();
  
  // member functions
  this.init = MM_dragInit;
  this.reset = MM_dragReset;
  this.enable = MM_dragEnable;
  this.disable = MM_dragDisable;
  this.setDisabled = MM_dragSetDisabled;
  this.update = MM_dragUpdate;
  this.getPosition = MM_dragGetPosition;
  this.snapTo = MM_dragSnapTo;
  this.snapBack = MM_dragSnapBack;
  this.moveToFront = MM_dragMoveToFront;
  this.updateValue = MM_dragUpdateValue;
  this.updateSources = MM_dragUpdateSources;
  this.changeValue = MM_dragChangeValue;
  this.setValue = MM_dragSetValue;
}

//Called to initialize the drag objects
function MM_dragInit() {
  with (this) {
    _obj = MM_intFindObject(_parent._self + _name);
    if (_obj) {
      _width =  parseInt((_parent.browserIsNS)?_obj.clip.width:_obj.offsetWidth);
      _height = parseInt((_parent.browserIsNS)?_obj.clip.height:_obj.offsetHeight);
      getPosition();
      origPosX = _posX; origPosY = _posY;
      if (_isDraggable)
        MM_dragLayer(_parent._self + _name,'',0,0,0,0,true,false,-1,-1,-1,-1,false,false,0,_self+'.update()',true,_self+'.update(true)');
  } }
}

//Resets the element and its choices
function MM_dragReset() {
  var i;
  if (this._obj) with (this) {
    _parent.disabled ? disable() : enable();
    value = initialValue;
    if (_isDraggable) {
      if (!changeValue(value)) {
        snapTo(origPosX, origPosY);
        updateValue(true);
        updateSources();
  } } }
}

//Enables the element
function MM_dragEnable() {
  var i;
  if (this._obj) with (this) {
    disabled = false;
    for (i in c)  if (i != 'length') c[i].disabled = false;
    updateValue(true);
    if (_isDraggable) _obj.MM_dragOk = true;
  }
}

//Disables the element
function MM_dragDisable() {
  with (this) {
    disabled = true;
    if (_isDraggable && _obj) _obj.MM_dragOk = null;
  }
}

//Calls the approppriate disable or enable function
function MM_dragSetDisabled(theDisabled) {
  if (theDisabled) this.disable();
  else this.enable();
}

//Called by MM_dragLayer when a drag object is dropped
// Do a hit test on each of the targets
function MM_dragUpdate(dragging) {
  var i,noJudge=false,origValue,x,y;
  with (this) {
    if (dragging) {
      if (this.onDrag != null) {
        x = parseInt((_parent.browserIsNS)?_obj.pageX:_obj.style.pixelLeft);
        y = parseInt((_parent.browserIsNS)?_obj.pageY:_obj.style.pixelTop);
        onDrag(_parent._self+_name, x, y);
      }
    } else {
      if (!_obj || disabled || !_isDraggable) return;

      origValue=value;
      getPosition();
      updateValue();

      if (snapsOnIncorrect && value && c[value].isCorrect == false) {
        c[value].selected = false; // turn off selected flag
        noJudge=true;
      } else if (snapsOnMiss && !value) {
        noJudge=true;
      }
      if (noJudge) {
        snapBack();
        if (origValue) {
          c[origValue].selected = true;
          value = origValue;
        }
        if (this.onDrag != null) onDrag(_parent._self+_name, _posX, _posY);
        if (this.onDrop != null) onDrop(_parent._self+_name, value);
      }

      if (!noJudge) updateSources();
      
      // call the parent's update
      _parent.update(noJudge);
  } }
}

//Gets the current position of the layer
function MM_dragGetPosition() {
  if (this._obj) with (this) {
    _prevPosX = _posX; _prevPosY = _posY;
    _posX = parseInt((_parent.browserIsNS)?_obj.pageX:_obj.style.pixelLeft);
    _posY = parseInt((_parent.browserIsNS)?_obj.pageY:_obj.style.pixelTop);
  }
}

//Moves the layer to the given position
function MM_dragSnapTo(newPosX, newPosY) {
  if (this._obj && newPosX && newPosY) with (this) {
    if (_parent.browserIsNS) {
      _obj.pageX = newPosX; _obj.pageY = newPosY;
    } else {
      _obj.style.pixelLeft = newPosX; _obj.style.pixelTop = newPosY;
    }
    _posX = newPosX; _posY = newPosY;
  }
}

//Moves the layer to its previous position
function MM_dragSnapBack() {
  with (this) snapTo(_prevPosX, _prevPosY);
}

function MM_dragMoveToFront() {
  var maxZ=0, i, aLayer, aLayerZ;
  with (this) {
    if (document.allLayers != null) {
      for (i=0; i<document.allLayers.length; i++) {
        aLayer = document.allLayers[i];
        aLayerZ = (_parent.browserIsNS)?aLayer.zIndex:aLayer.style.zIndex;
        if (aLayerZ > maxZ) maxZ = aLayerZ;
      }
      eval('_obj.'+((_parent.browserIsNS)?'':'style.')+'zIndex=maxZ+1');
  } }
}

//Update the value parameter and the choice selected flags
function MM_dragUpdateValue(checkOnly) {
  var i;
  with (this) {
    value = '';
    for (i in c) if (i != 'length') 
      if (value == '')  value = c[i].validValue(checkOnly);
      else  c[i].validValue(checkOnly);
  }
}

//Update the sources for which we are a target
function MM_dragUpdateSources() {
  var i;
  with (this) {
    if (_isTarget) {
      for (i in _parent.e)  if (i != 'length') {
        if (_parent.e[i].value == _name) {
          if (value != i) {  // update elem and choice
            _parent.e[i].value = _parent.e[i].c[_name].validValue(true); // check only
          } else {  // dropped on the element for which we were the target
            _parent.e[i].value = '';
            _parent.e[i].c[_name].selected = false;
    } } } }
    if (this.onDrag != null) onDrag(_parent._self+_name, _posX, _posY);
    if (this.onDrop != null) onDrop(_parent._self+_name, value);
  }
}

//Moves the layer to the named target
function MM_dragChangeValue(theValue) {
  var retVal = false;
  var choice, i;
  if (this._obj && theValue && this._isDraggable) with (this) {
    for (choice in c) if (choice != 'length' && choice == theValue) break;
    if (choice == theValue) {
      c[choice].setHotSpot();
      snapTo(c[choice]._hitX, c[choice]._hitY);
      moveToFront();
      updateValue();  // set our selected state
      updateSources();
      retVal = true;
  } }
  return retVal;
}

//Moves the layer to the named target, then updates the int
function MM_dragSetValue(theValue) {
  with (this) {
    if (changeValue(theValue))
      _parent.update(true); // update int, but don't judge
  }
}


////////////////////////////////////////
//Create a drag and drop choice object
function MM_dragTarg(theParent, theElement,
                     theTarget, theIsCorrect, theScore,
                     theTolerance, theAlignment, theOffset, theSnapsTo) {
  // properties
  this.expectedValue = theTarget;
  this.isCorrect = theIsCorrect;
  this.score = theScore;
  this.selected = false;
  this.disabled = false;
  
  this.tolerance = theTolerance;
  this.alignment = theAlignment;
  this.snapsTo = theSnapsTo;
  this.offsetX = 0;
  this.offsetY = 0
  
  this._elem = eval(theParent._self+".e['"+theElement+"']");
  this._target = eval(theParent._self+".e['"+theTarget+"']");
  this._isChoice = true;

  this._hitX = 0;
  this._hitY = 0;
  this._snapX = '';
  this._snapY = '';
  
  if (theOffset != null) {
    var  colonPos = theOffset.indexOf(":");
    if (colonPos != -1) { //if colon separated, split strings
      this.offsetX = parseInt(theOffset.substring(0,colonPos));
      this.offsetY = parseInt(theOffset.substring(colonPos+1,theOffset.length));
  } }
  
  // methods
  this.validValue = MM_dragTargValidValue;
  this.setHotSpot = MM_dragTargSetHotSpot;
  this.setSelected = MM_dragTargSetSelected;
  this.setDisabled = MM_dragTargSetDisabled;
}

function MM_dragTargValidValue(checkOnly) {
  var retVal = '';
  with (this) {
    selected = false;
    if (!disabled) {
    
      setHotSpot();

      // check if the value is within the tolerance of the hotspot
      if ((Math.pow(_hitX-_elem._posX,2) + Math.pow(_hitY-_elem._posY,2))
              <= Math.pow(tolerance,2)) {
        selected = true;
        if (snapsTo && !checkOnly) _elem.snapTo(_snapX, _snapY);
        retVal = expectedValue;
  } } }
  return retVal;
}

function MM_dragTargSetHotSpot() {
  var centerX, centerY, alignX=0, alignY=0;
  with (this) {
    // compute the center
    centerX = Math.round(0.5 * (_target._width-_elem._width));
    centerY = Math.round(0.5 * (_target._height-_elem._height));    
    
    // compute the alignment
    if (alignment != '') {
      // set to 'Center'
      alignX = centerX; alignY = centerY;
      if (alignment == 'Bottom')     alignY = _target._height;
      else if (alignment == 'Top')   alignY = -_elem._height;
      else if (alignment == 'Left')  alignX = -_elem._width;
      else if (alignment == 'Right') alignX = _target._width;
    }
  
    // update the targets position (needed for draggable targets)
    _target.getPosition();
  
    // set the snap location
    _snapX = _target._posX + alignX + offsetX;
    _snapY = _target._posY + alignY + offsetY;
    
    // set the hit location
    _hitX = _target._posX + centerX;
    _hitY = _target._posY + centerY;
    
  }
}

function MM_dragTargSetSelected(theSelected) {
  with (this) {
    if (theSelected) {
      _elem.setValue(expectedValue);
    } else {
      selected = false;
      if (_elem.value == expectedValue) _elem.value = '';
      _elem._parent.update(true);
    }
  }
}

function MM_dragTargSetDisabled(theDisabled) {
  with (this) {
    disabled = theDisabled;
    if (disabled) {
      selected = false;
      if (_elem.value == expectedValue) _elem.value = '';
    } else {
      // NOTE: the selected state won't be correct 
      //  if the snap location is outside of the tolerance
      if (_elem._obj) {
        validValue(true);
        if (selected) _elem.value = expectedValue;
      }
    }
    _elem._parent.update(true);
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费在线播放视频| 精品久久久久久久一区二区蜜臀| 亚洲三级理论片| 色婷婷精品久久二区二区蜜臂av| 亚洲免费观看高清| 欧美日韩一区二区电影| 蜜桃视频在线观看一区| 久久久久国产精品免费免费搜索| 国产suv精品一区二区三区| 国产精品传媒入口麻豆| 欧美日韩三级在线| 国产在线看一区| 亚洲欧美偷拍卡通变态| 56国语精品自产拍在线观看| 国产一区二区电影| 亚洲男人天堂一区| 欧美一级片在线看| 成人天堂资源www在线| 一区二区三区在线免费| 日韩欧美电影在线| 成人v精品蜜桃久久一区| 午夜精品久久久| 国产欧美久久久精品影院| 一本大道av一区二区在线播放| 秋霞午夜av一区二区三区| 欧美国产欧美综合| 欧美一区二区网站| 99九九99九九九视频精品| 日韩国产在线观看一区| 国产精品二三区| 日韩一区二区三| 日本高清成人免费播放| 国产在线一区二区| 亚洲sss视频在线视频| 国产精品你懂的在线欣赏| 欧美伦理电影网| 99视频国产精品| 狠狠色丁香婷综合久久| 亚洲五码中文字幕| 国产日韩欧美精品电影三级在线| 欧美日韩在线观看一区二区| 国产成人在线视频免费播放| 日日骚欧美日韩| 成人免费视频在线观看| 精品不卡在线视频| 欧美日韩久久久久久| 大白屁股一区二区视频| 精品一区二区三区欧美| 午夜精品久久久| 亚洲欧洲av另类| 国产午夜一区二区三区| 日韩欧美在线网站| 欧美日韩国产片| 91国产福利在线| 成人av综合在线| 国产乱对白刺激视频不卡| 久久精品国产网站| 日本免费在线视频不卡一不卡二| 一区二区三区中文在线观看| 中文字幕中文字幕一区二区| 久久久www成人免费无遮挡大片| 91精品午夜视频| 欧美日韩一卡二卡| 欧美三级日韩三级| 欧美在线观看视频在线| 91成人看片片| 日本高清无吗v一区| 91成人网在线| 欧美日韩日日摸| 欧美日韩精品专区| 8x福利精品第一导航| 欧美男生操女生| 91麻豆精品国产| 欧美一区二区三区四区视频| 中文字幕一区日韩精品欧美| 国产精品亚洲一区二区三区妖精| 麻豆精品国产91久久久久久| 欧美a级理论片| 青青草国产精品97视觉盛宴| 日本成人超碰在线观看| 视频在线观看国产精品| 全国精品久久少妇| 玖玖九九国产精品| 国产九色sp调教91| 成人精品免费视频| 色综合天天狠狠| 欧美日韩激情在线| 日韩精品一区二区三区swag| 久久亚洲一区二区三区明星换脸| 久久综合九色综合欧美98| 久久久久久一二三区| 日本一区二区三区久久久久久久久不| 中文字幕av一区二区三区免费看 | 777欧美精品| 3751色影院一区二区三区| 日韩一区二区免费视频| 国产精品人妖ts系列视频| av不卡一区二区三区| 一本一本大道香蕉久在线精品| 在线精品视频小说1| 555夜色666亚洲国产免| 26uuu国产一区二区三区| 国产精品乱码妇女bbbb| 亚洲色图在线播放| 欧美aⅴ一区二区三区视频| 成人永久看片免费视频天堂| 欧美午夜精品电影| 久久午夜羞羞影院免费观看| 自拍偷拍国产亚洲| 热久久一区二区| 成人精品免费视频| 7777精品伊人久久久大香线蕉最新版| 久久亚洲精华国产精华液 | 亚洲第一福利视频在线| 美女网站在线免费欧美精品| 成人av网站大全| 日韩一级视频免费观看在线| 成人欧美一区二区三区黑人麻豆| 视频在线在亚洲| 91视频免费播放| 精品福利在线导航| 亚洲一区二区综合| 国产91精品免费| 国产成人aaaa| 国产精品888| 91福利在线看| 久久人人97超碰com| 亚洲国产欧美日韩另类综合 | **欧美大码日韩| 美国精品在线观看| 日本精品一级二级| 国产亚洲精品资源在线26u| 午夜一区二区三区视频| 成人激情午夜影院| 日韩免费一区二区| 亚洲综合在线免费观看| 国产福利一区二区三区视频在线| 色噜噜久久综合| 中文字幕精品三区| 精品一二三四区| 欧美剧情电影在线观看完整版免费励志电影| 国产亚洲欧美激情| 国产一区欧美二区| 日韩一区二区三区免费看| 亚洲午夜在线电影| 91蜜桃传媒精品久久久一区二区| 久久久五月婷婷| 老司机免费视频一区二区| 欧美一区二区视频观看视频| 亚洲一区二区av在线| 欧美精选一区二区| 欧美色手机在线观看| 国产精品久久久一区麻豆最新章节| 免费观看日韩电影| 欧美日韩久久久一区| 一区二区日韩av| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 丰满白嫩尤物一区二区| 精品国产伦一区二区三区观看方式 | 美美哒免费高清在线观看视频一区二区 | 亚洲精品视频在线看| 国产成人免费视频| 国产欧美精品在线观看| 国产精品白丝jk黑袜喷水| 久久尤物电影视频在线观看| 久久99在线观看| 久久久久国产精品免费免费搜索| 国产自产2019最新不卡| 国产午夜亚洲精品理论片色戒| 国产伦精品一区二区三区免费| 久久久久久日产精品| 国产白丝网站精品污在线入口| 国产精品麻豆欧美日韩ww| 不卡欧美aaaaa| 亚洲柠檬福利资源导航| 欧美天堂一区二区三区| 日韩高清不卡在线| 精品国产伦一区二区三区免费| 国产在线国偷精品产拍免费yy| 国产日本一区二区| av电影在线观看完整版一区二区| 又紧又大又爽精品一区二区| 欧美中文字幕不卡| 777xxx欧美| 成人免费av资源| 国产精品亲子乱子伦xxxx裸| 99久久精品国产麻豆演员表| 亚洲人成7777| 欧美精品乱人伦久久久久久| 久久精品理论片| 欧美国产成人精品| 色婷婷久久久久swag精品 | 日韩黄色在线观看| 日韩小视频在线观看专区| 国产99久久久国产精品免费看| 亚洲激情五月婷婷| 日韩女优电影在线观看| av不卡在线观看| 午夜亚洲福利老司机| 国产亚洲成aⅴ人片在线观看|