Heim > Web-Frontend > js-Tutorial > Hauptteil

JS implementiert Drag & Drop, um die Größe von Objekten zu ändern

小云云
Freigeben: 2018-01-24 09:10:19
Original
1537 Leute haben es durchsucht

Drag & Drop zum Ändern der Größe eines Objekts. In diesem Artikel wird hauptsächlich die JS-Methode zum Ändern der Größe eines Objekts basierend auf Ziehen vorgestellt, wobei Implementierungstechniken im Zusammenhang mit der Reaktion auf Javascript-Ereignisse und dem dynamischen Betrieb von Seitenelementattributen verwendet werden Ich muss darauf verweisen und hoffe, dass es jedem helfen kann.

Das Beispiel in diesem Artikel beschreibt die JS-Methode zum Ändern der Größe von Objekten durch Ziehen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Ziehen, um die Objektgröße zu ändern: Ziehen Sie das gelbe kleine p, um die Breite und Höhe des grünen großen p zu ändern

wird hauptsächlich in drei Schritten umgesetzt:

1 Holen Sie sich zwei große und kleine PS durch die ID
2 . Fügen Sie onmousedown zum kleinen p Event
3 hinzu das Dokument im onmousedown-Ereignis 🎜>Wie aus dem Analysediagramm ersichtlich ist, müssen wir beim Ziehen nur den zunehmenden Breitenwert des Objekts ermitteln, und das Problem ist gelöst

Einige Stile hinzufügen


js-Implementierungscode:

<p id="panel">
  <p id="dragIcon"></p>
</p>
Nach dem Login kopieren


Rendering:

<style>
    #panel{
      position: absolute;
      width: 200px;height: 200px;
      background: green;
    }
    #dragIcon{
      position: absolute;bottom: 0;right: 0;
      width: 20px;height: 20px;
      background: yellow;
    }
</style>
Nach dem Login kopieren

Verwandte Empfehlungen:

<script>
  window.onload = function () {
    // 1. 获取两个大小p
    var oPanel = document.getElementById(&#39;panel&#39;);
    var oDragIcon = document.getElementById(&#39;dragIcon&#39;);
    // 定义4个变量
    var disX = 0;//鼠标按下时光标的X值
    var disY = 0;//鼠标按下时光标的Y值
    var disW = 0; //拖拽前p的宽
    var disH = 0; // 拖拽前p的高
    //3. 给小p加点击事件
    oDragIcon.onmousedown = function (ev) {
      var ev = ev || window.event;
      disX = ev.clientX; // 获取鼠标按下时光标x的值
      disY = ev.clientY; // 获取鼠标按下时光标Y的值
      disW = oPanel.offsetWidth; // 获取拖拽前p的宽
      disH = oPanel.offsetHeight; // 获取拖拽前p的高
      document.onmousemove = function (ev) {
        var ev = ev || window.event;
        //拖拽时为了对宽和高 限制一下范围,定义两个变量
        var W = ev.clientX - disX + disW;
        var H = ev.clientY - disY + disH;
        if(W<100){
          W = 100;
        }
        if(W>800){
          W =800;
        }
        if(H<100){
          H = 100;
        }
        if(H>500){
          H = 500;
        }
        oPanel.style.width =W +&#39;px&#39;;// 拖拽后物体的宽
        oPanel.style.height = H +&#39;px&#39;;// 拖拽后物体的高
      }
      document.onmouseup = function () {
        document.onmousemove = null;
        document.onmouseup = null;
      }
    }
  }
</script>
Nach dem Login kopieren
Lösung für das Problem, dass sich der Text unten links befindet und nicht geändert werden kann im Textbereichslayout

Tabellenmaus in HTML Implementierung der Drag-and-Drop-Sortierfunktion

Eine Fallstudie zur JavaScript-Maus-Drag-Event-Implementierung

Das obige ist der detaillierte Inhalt vonJS implementiert Drag & Drop, um die Größe von Objekten zu ändern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!