一个可拖拽列宽表格实例演示_javascript技巧
序号 | 操作 | 标题 | 执行人 | 开始时间 | 结束时间 | 天数 |
---|---|---|---|---|---|---|
1 | 编辑 | 任务标题:阿斯卡是大家啊 | Firefox | 2012-07-15 | 2012-08-15 | 32 |
2 | 编辑 | 任务标题:阿斯卡是大家啊 | Firefox | 2012-07-15 | 2012-08-15 | 32 |
3 | 编辑 | 任务标题:阿斯卡是大家啊 | Firefox | 2012-07-15 | 2012-08-15 | 32 |
4 | 编辑 | 任务标题:阿斯卡是大家啊 | Firefox | 2012-07-15 | 2012-08-15 | 32 |
5 | 编辑 | 任务标题:阿斯卡是大家啊 | Firefox | 2012-07-15 | 2012-08-15 | 32 |
<script> <BR>(function(){ //fixed table header ,还可以封装一下做成类 <BR>var leftScrollPanel = $("#left-scroll-panel"); <BR>var ganntBody = $("#gannt_grid>tbody"); <BR>var fixedThead = leftScrollPanel.prev(".fixed-header-tb"); <BR>if(!fixedThead.length){ <BR>fixedThead = $('<table class="fixed-header-tb">'); <BR>fixedThead.append(ganntBody.prev()); <BR>leftScrollPanel.before(fixedThead); <BR>}else{ <BR>//do not create table head again when gannt body repaint, <BR>//because it is not created in function render <BR>ganntBody.prev().remove(); <BR>} <BR>var tds = ganntBody.find("tr:first>td"); <BR>var ths = fixedThead.find("th"); <BR>var thWidth; <BR>$.each(tds,function(index,td){ <BR>//jq width() or css('width') may has 1px disparity, use attr width <BR>thWidth = ths.eq(index).attr("width"); <BR>(thWidth!=undefined) && $(td).attr("width",thWidth); <BR>}); <BR>})(); <BR>(function(){//table header resize <BR>var sideOffset = { <BR>left:null, <BR>right:null, <BR>td:null, <BR>tdLocked:null, <BR>tdLeft:null, <BR>tdRight:null <BR>}; <BR>var pos = { <BR>resizedTime:0, <BR>beginPos:0 <BR>}; <BR>var tableHead = $(".fixed-header-tb").find("tr:first"); <BR>var headCellTagName = "th"; <BR>var bodyHead = $("#gannt_grid>tbody").find("tr:first"); <BR>var minInterVal = 0; <BR>var minWidth = 30; <BR>var borderBeside = 5; <BR>var notResizeCells = [0,1,6]; <BR>var freeCells = [2]; <BR>var forceSize = false; <BR>var resizeAllow = false; <BR>var resizing = false; <BR>var forbiddenResize = function(){ <BR>var frag = false; <BR>var o = sideOffset; <BR>var index = o.td.index(); <BR>if($.inArray(index,notResizeCells)>-1){ <BR>frag = true; <BR>}else if((index==0||$.inArray(index-1,notResizeCells)>-1)&&o.left<=borderBeside){ <BR>frag = true; <BR>}else if((index==o.td.siblings().length||$.inArray(index+1,notResizeCells)>-1)&&o.right<=borderBeside){ <BR>frag = true; <BR>}else if(o.left>borderBeside&&o.right>borderBeside){ <BR>frag = true; <BR>} <BR>return frag; <BR>}; <BR>var stopResize = function(){ <BR>if(!resizing){return ;} <BR>resizing = false; <BR>resizeAllow = false; <BR>sideOffset = { <BR>left:null, <BR>right:null, <BR>td:null, <BR>tdLocked:null, <BR>tdLeft:null, <BR>tdRight:null <BR>}; <BR>}; <BR>var isFreeCell = function(td){ <BR>return forceSize==false && $.inArray(td.index(),freeCells)!=-1; <BR>}; <BR>tableHead.bind({ <BR>mousemove:function(e){ <BR>var th = $(e.target).closest(headCellTagName); <BR>if(!th.length){ <BR>return; <BR>} <BR>if(!resizing){ <BR>sideOffset.td = th; <BR>sideOffset.left = e.pageX - th.offset().left; <BR>sideOffset.right = th.width()-(e.pageX-th.offset().left); <BR>if(forbiddenResize()){ <BR>resizeAllow = false; <BR>sideOffset.td.css("cursor","default"); <BR>}else{ <BR>resizeAllow = true; <BR>sideOffset.td.css("cursor","e-resize"); <BR>pos.resizedTime = new Date()*1; <BR>pos.beginPos = e.pageX; <BR>} <BR>return; <BR>} <BR>if(sideOffset.tdLocked){ <BR>th = sideOffset.tdLocked; <BR>} <BR>if(new Date()-pos.resizedTime<minInterVal){ <BR>return; <BR>}else{ <BR>pos.resizedTime = new Date()*1; <BR>} <BR>var offset = (e.pageX-pos.beginPos); <BR>if(!offset){ <BR>return; <BR>}else{ <BR>pos.beginPos = e.pageX; <BR>} <BR>var leftWidth = sideOffset.tdLeft.width(); <BR>var rightWidth = sideOffset.tdRight.width(); <BR>if(offset<0&&leftWidth==minWidth){ <BR>return; <BR>}else if(offset>0&&rightWidth==minWidth){ <BR>return; <BR>} <BR>var fixedLWidth,fixedRWidth; <BR>if(leftWidth-Math.abs(offset)<minWidth&&offset<0){ <BR>fixedLWidth = minWidth; <BR>fixedRWidth = rightWidth - (minWidth-leftWidth); <BR>}else if(rightWidth-offset<minWidth&&offset>0){ <BR>fixedRWidth = minWidth; <BR>fixedLWidth = leftWidth - (minWidth-rightWidth); <BR>}else{ <BR>fixedLWidth = leftWidth+offset; <BR>fixedRWidth = rightWidth-offset; <BR>} <BR>var adjustCells = [ <BR>{cell:sideOffset.tdLeft,width:fixedLWidth}, <BR>{cell:sideOffset.tdRight,width:fixedRWidth} <BR>]; <BR>if(offset<0){ <BR>adjustCells = adjustCells.reverse(); <BR>} <BR>var inOneTable = bodyHead.parents("table:first").get(0)==tableHead.parents("table:first").get(0); <BR>$.each(adjustCells,function(i,cellConf){ <BR>if(isFreeCell(cellConf.cell)){return;} <BR>cellConf.cell.attr("width",cellConf.width); <BR>if(!inOneTable){ <BR>bodyHead.children().eq(cellConf.cell.index()).attr("width",cellConf.width); <BR>} <BR>}); <BR>}, <BR>mousedown:function(){ <BR>if(!resizeAllow){ <BR>return; <BR>} <BR>sideOffset.tdLocked = sideOffset.td; <BR>if(sideOffset.left<=5){ <BR>sideOffset.tdRight = sideOffset.td; <BR>sideOffset.tdLeft = sideOffset.td.prev(); <BR>}else{ <BR>sideOffset.tdRight = sideOffset.td.next(); <BR>sideOffset.tdLeft = sideOffset.td; <BR>} <BR>resizing = true; <BR>return false; <BR>} <BR>}); <BR>$(document).bind("mouseup",stopResize); <BR>})(); <BR></script>

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Wie implementiert man mit JavaScript die Drag-and-Zoom-Funktion von Bildern? In der modernen Webentwicklung ist das Ziehen und Zoomen von Bildern eine häufige Anforderung. Durch die Verwendung von JavaScript können wir Bildern ganz einfach Zieh- und Zoomfunktionen hinzufügen, um ein besseres Benutzererlebnis zu bieten. In diesem Artikel stellen wir anhand spezifischer Codebeispiele vor, wie Sie JavaScript zum Implementieren dieser Funktion verwenden. HTML-Struktur Zunächst benötigen wir eine grundlegende HTML-Struktur, um Bilder anzuzeigen und hinzuzufügen

Vue ist ein beliebtes JavaScript-Framework, das sich zum Erstellen von Single-Page-Anwendungen (SPA) eignet. Es unterstützt Drag-and-Drop-Auswahl- und Platzierungsfunktionen durch Anweisungen und Komponenten und bietet Benutzern ein besseres interaktives Erlebnis. In diesem Artikel werden die Techniken und Best Practices für die Drag-and-Drop-Auswahl und -Platzierung in Vue vorgestellt. Drag-Anweisung Vue bietet eine v-ziehbare Anweisung, mit der problemlos Drag-Effekte erzielt werden können. Dieser Befehl kann auf jedes Element angewendet werden und der Ziehstil kann angepasst werden.

Praktische Fähigkeiten von Vue: Verwenden Sie die v-on-Anweisung, um Mausziehereignisse zu verarbeiten. Vorwort: Vue.js ist ein beliebtes JavaScript-Framework. Aufgrund seiner Einfachheit, Benutzerfreundlichkeit und Flexibilität ist es für viele Entwickler die erste Wahl. Bei der Entwicklung von Vue-Anwendungen ist der Umgang mit Benutzerinteraktionsereignissen eine wesentliche Fähigkeit. In diesem Artikel wird erläutert, wie Sie die v-on-Direktive von Vue verwenden, um Mausziehereignisse zu verarbeiten, und es werden spezifische Codebeispiele bereitgestellt. Erstellen Sie eine Vue-Instanz: Führen Sie zunächst die Bibliotheksdatei Vue.js in die HTML-Datei ein: &

So verwenden Sie Vue zum Implementieren von Drag-and-Drop-Sortiereffekten Vue.js ist ein beliebtes JavaScript-Framework, das uns beim Erstellen hochgradig interaktiver Front-End-Anwendungen helfen kann. In Vue können wir problemlos Drag-and-Drop-Sortiereffekte implementieren, sodass Benutzer Daten durch Ziehen von Elementen sortieren können. In diesem Artikel wird erläutert, wie Sie mit Vue Drag-and-Drop-Sortiereffekte implementieren, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir eine Instanz von Vue erstellen und ein Array definieren, um die zu sortierenden Daten zu speichern. Im Beispiel werden wir

Vue ist ein beliebtes JavaScript-Framework, das eine praktische Drag-and-Drop-Funktion bietet, mit der wir Elemente einfach kopieren und verschieben können. Schauen wir uns als Nächstes an, wie man Drag-and-Drop-Elemente in Vue kopiert und verschiebt. 1. Grundlegende Implementierung von Drag-and-Drop-Elementen Um Drag-and-Drop-Elemente in Vue zu kopieren und zu verschieben, müssen Sie zunächst die grundlegende Drag-and-Drop-Funktion des Elements implementieren. Die spezifische Implementierungsmethode lautet wie folgt: Fügen Sie die Elemente hinzu, die in die Vorlage gezogen werden müssen: <divclass="drag-elem"

So erzielen Sie mit Layui Bildzieh- und Zoomeffekte. Im modernen Webdesign ist der interaktive Effekt von Bildern zu einem wichtigen Mittel geworden, um die Vitalität und Benutzererfahrung von Webseiten zu steigern. Unter diesen sind Bildzieh- und Zoomeffekte eine der gebräuchlichsten und beliebtesten Interaktionsmethoden. In diesem Artikel wird erläutert, wie Sie mithilfe des Layui-Frameworks Bildzieh- und Zoomeffekte erzielen, und es werden spezifische Codebeispiele bereitgestellt. 1. Führen Sie das Layui-Framework und die zugehörigen Abhängigkeiten ein: Zuerst müssen wir das Layui-Framework und die zugehörigen Abhängigkeiten in die HTML-Datei einführen. Dies kann über das folgende Codebeispiel eingeführt werden

Vue ist heute eines der beliebtesten Frontend-Frameworks. Es bietet eine Fülle von Funktionen und Tools, die uns bei der bequemen Entwicklung verschiedener Webanwendungen unterstützen. Eine sehr nützliche Funktion ist Drag & Drop, mit der Benutzer Elemente von einer Stelle auf der Seite an eine andere ziehen können. Vue bietet einige integrierte Befehle und Funktionen, die das Erstellen und Verwalten von Drag-and-Drop-Vorgängen, einschließlich Drag-and-Drop-Sortierfunktionen, vereinfachen. In diesem Artikel werden die Verwendung und Wirkung der Drag-and-Drop-Sortierfunktion im Vue-Dokument vorgestellt. Was ist die Drag-Sort-Funktion? Die Drag-Sortierfunktion ist V

So implementieren Sie die Drag-and-Drop-Sortierfunktion in uniapp. Drag-and-Drop-Sortierung ist eine gängige Benutzerinteraktionsmethode, mit der Benutzer die Reihenfolge von Elementen durch Ziehen ändern können. In uniapp können wir die Drag-and-Drop-Sortierfunktion implementieren, indem wir die Komponentenbibliothek und einige grundlegende Drag-Ereignisse verwenden. Im Folgenden wird anhand von Codebeispielen ausführlich erläutert, wie die Drag-and-Drop-Sortierfunktion in uniapp implementiert wird. Schritt 1: Erstellen Sie eine einfache Listenseite. Zuerst müssen wir eine einfache Listenseite erstellen, um die Elemente anzuzeigen, die sortiert werden müssen. Sie können & verwenden
