Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
著編程的普及,越來越多的人開始參與到代碼的編寫當中。很多時候,你并需要很多專業(yè)知識,你就可以寫出非常出色軟件,而這一切都得益于很多低代碼編程工具,這些拖拽工具可以非常方便地讓你生成頁面,甚至是獲取數據。接下來我們就來盤點一下可視化代碼生成工具。
一款非常出色的代碼拖拽生成工具,它有著豐富的模板庫,對于初學者來說,你可以從眾多優(yōu)秀的模板庫中選擇一款來開始自己的網頁設計之旅。
Wix支持對SEO的優(yōu)化,你可以通過各種標簽來優(yōu)化你的網頁,可以讓你的網頁被搜索引擎認可。
Wix是支持移動端的,并且它是自適應的,也就說當你設計好網頁的時候,你可以花費很少的調整就生成移動端的網頁。
Wix內置豐富的特效,你可以非常方便地為網頁添加各種動效,讓網頁看起來更活潑。
site123是一個非常簡潔的網頁生成器,使用它你可以拖拽生成一個網頁。
使用site123生成一個網站僅僅需要三個步驟,首先,選擇網站的類型,然后,上傳內容,最后,發(fā)布自己的網頁就完成了一個簡單網站的制作。
site123的模板都是響應式的,也就說它會自動適應移動端,讓你的網站在移動端也有最佳的閱讀體驗,此外,site123還會自動優(yōu)化你的網頁,讓你的網頁更容易被搜索引擎所收錄。
所有的操作都是在網頁上完成的,不需要你下載任何軟件就可以非常方便地生成一個網頁。
這是一個富有創(chuàng)意的網頁生成器,它有著豐富的模板,有趣的是,你可以通過描述你想要的網站是做什么的來提供給你模板,也就是說,你告訴它你想要做一個什么樣子的網站,是博客,是商城,是餐館,還是服務,你告訴它你想要做的內容,它就會給你返回最佳的模板。
使用Squarespace你可以非常方便地創(chuàng)建頁面,可以非常方便地調整樣式,字體,顏色,按鈕樣式,動效,你都可以通過點擊進行選擇,可以說自定義的功能還是很強大的。
當使用 Squarespace 創(chuàng)建網站時,你還可以獲得免費的無限托管、頂級的安全性和可靠的資源。 你還可以通過電子郵件、實時聊天或加入實時網絡研討會獲得全天候的個性化支持。
一款非常小清新的網頁生成器,它可以使網頁設計變得非常簡單。選擇模板,拖放新元素,更改顏色、字體、圖像等都可以輕松完成,你也可以輕松編輯所有內容。
它對電子商務進行了特殊的支持,使用多合一電子商務平臺來建立的商店支持在線銷售。同時,你也可以讓您的產品在您的在線商店、Facebook、Instagram 和亞馬遜上可用。
無論是庫存、運輸,甚至是稅收,它提供的自動化工具都會為您完成繁重的工作。
Zyro 電子商務是所有最流行的支付方式。從 PayPal 和 Visa 到萬事達卡等,接受來自全球各地的在線支付。
此外,它還提供了很多實用的小功能,比如名稱生成器,標語生成器,圖像智能縮放,升頻,智能去背景等等。
Elementor 與此列表中的其他所有內容不同,原因很簡單: 它不是獨立的站點構建器。它是一個 WordPress 插件,它需要一個 WordPress 站點才能運行。
Elementor 允許您像完整的拖放式網站構建器一樣使用 WordPress(主要用于博客和發(fā)布的內容管理系統(tǒng))。它包括頁面模板、內容塊和小部件。它具有響應式的設計和令人難以置信的定制能力。
基本上,您只需將預制的小部件拖放到您的頁面上。這些小部件可以是簡單的文本或圖像塊,但它們也可以是投資組合、畫廊、菜單、列表、地圖、Facebook 評論——你可以命名它。
一個在線生成h5頁面并提供頁面管理和頁面編輯的平臺,用于快速制作H5頁面。用戶無需掌握復雜的編程技術,通過簡單拖拽、少量配置即可制作精美的頁面,可用于營銷場景下的頁面制作。
它的主要技術棧是VUE,代碼在碼云上開源。
它的主要優(yōu)點有:
一個開源的網頁拖拽自動生成的JavaScript庫,你可以以簡單拖拽的方式生成自己需要的網頁樣式,內置jquery和Bootstrap,你可以拖拽相關的組件進行網頁的構建,非常的方便,而且可以實時修改代碼,功能豐富,使用簡單,界面友好,特別適合一些專注于展示的網頁設計。
它的技術棧采用的是jquery和bootstrap,雖然jquery可能會有些落伍,但是它主要是用在頁面的拖拽布局上,不會影響網頁的js。
它的優(yōu)點:
它是一款面向IT技術支持人員和專業(yè)程序員的低代碼開發(fā)工具,可以通過組件化、可視化、模板化和向導化等多種手段,快速構建數據庫增刪改查類的Web和手機H5應用,大幅提升開發(fā)效率。
相對于現在市面上很多類似OA系統(tǒng)的、以表單和流程為核心的低代碼開發(fā)平臺,TaskBuilder 能實現更復雜的業(yè)務應用,簡單的功能通過向導一步一步操作即可實現,復雜的功能可以通過編寫腳本實現。
和其它拖拽網站生成器不同的是,它并沒有提供豐富的模板,而且它設計的最初目的也不是為了制作絢麗的前端頁面,它更多地是考慮制作企業(yè)后臺管理界面,制作類似ERP,CRM,OA等流程管理系統(tǒng)。
它是免費開源的,代碼可以在github上進行查看,它的技術棧采用的是JS,前端是JS,后端是nodejs,可以說是國產開源軟件中不錯的一款產品。
面對各種網站生成器,很多人會覺得眼花繚亂,不知道選擇哪一種,其實有時間你可以下載下來體驗一下,每個軟件花費個半小時就能體驗到它的精髓。
每一款軟件都有它解決的痛點,否則就不會有這么多款類似的產品誕生了。
以后的開發(fā)會分為兩種,一種是制作開發(fā)工具的,一種是使用開發(fā)工具的,制作開發(fā)工具的人會要求越來越高,而使用工具的人會要求越來越低,軟件開發(fā)不再只是程序員能做的一件事。
認行為
什么是默認行為:默認行為就是瀏覽器自己觸發(fā)的事件。比如:a鏈接的跳轉,form提交時的跳轉,鼠標右鍵跳轉;
oncontexmenu當點擊右鍵菜單的時候;
return false
阻止默認行為
if(e.preventDefault) {
e.preventDefault();
}else {
window.event.returnValue=false;
}
事件移除。document.onmouseover=null;
拖拽事件:
onmousedown onmousemove onmouseup
拖拽思路:
1.給目標元素添加onmousedown事件,拖拽的前提是在目標元素按下鼠標左鍵
2.當onmousedown發(fā)生以后,此刻給document添加onmousemove事件,意味著此刻鼠標在網頁的移動都將改變目標元素的位置
3.在onmousemove事件中,設定目標元素的left和top,
公式
目標元素的left=鼠標的clientX – (鼠標和元素的橫坐標差,即offsetX)
目標元素的top=鼠標的clientY– (鼠標和元素的縱坐標差,即offsetY)
4.當onmousedown發(fā)生以后,此刻給document添加onmouseup事件,意味著此刻鼠標在網頁的任意位置松開鼠標,都會放棄拖拽的效果
在onmouseup事件中,取消document的onmousemove事件即可。
事件觸發(fā)階段主要由于事件流:DOM0級事件處理階段和DOM2級事件處理;
DOM0級事件處理,是一種賦值方式,是被所有瀏覽器所支持的,簡單易懂容易操作;
DOM2級事件處理是所有DOM節(jié)點中的方法,可以重復綁定,但是瀏覽器兼容存在問題;
非IE下:(這里的事件名不帶on),第三個參數表示是在捕獲階段還是冒泡階段。可以重復綁定事件,執(zhí)行順序按照綁定順序來執(zhí)行。
oDiv.addEventListener('click',chick,false);
oDiv.removeEventListener('click',chick ,false);
IE下:
只有冒泡階段,所以沒有第三個參數;(這里的事件名需要加on)
oDiv.attachEvent();
oDiv.detachEvent() ;
兼容問題解決:
var EventUtil={
addHandler:function(DOM,EventType,fn){
if(DOM.addEventListener){
DOM.addEventListener(EventType,fn,false);
}else if(DOM.attachEvent){
DOM.attachEvent('on'+EventType,fn)
}else{
DOM['on'+EventType]=fn
}
},
removeHandler:function(DOM,EventType,fn){
if(DOM.removeEventListener){
DOM.removeEventListener(EventType,fn,false)
}else if(DOM.detachEvent){
DOM.detachEvent('on'+EventType,fn)
}else{
DOM['on'+EventType]=null;
}
}
}
寫一個完美拖拽的案例:
、HTML
<div id="div1"></div>
二、CSS
#div1{
width: 100px;
height: 100px;
background: #444;
position: absolute;
}
三、javascript
window.onload=function(){
//獲取div
var oDiv=document.getElementById('div1');
// 設置兩個變量,記錄鼠標位置和div左側和上側的距離
var disX=0;
var disY=0;
oDiv.onmousedown=function(e){
var ev=e||window.event;
// 計算disX和disY
disX=ev.clientX-oDiv.offsetLeft;
disY=ev.clientY-oDiv.offsetTop;
// 為避免在移動過程中,鼠標滑出div,因此對document加onmousemove函數
document.onmousemove=function(e){
var ev=e||window.event;
// 計算div的位置,鼠標的位置-之前記錄的距離
var l=ev.clientX-disX;
var t=ev.clientY-disY;
// 設置div的范圍,防止div出界
if (l<0) {
l=0;
}
else if(l>document.documentElement.clientWidth-oDiv.offsetWidth){
l=document.documentElement.clientWidth-oDiv.offsetWidth;
}
if (t<0) {
t=0;
}
else if(t>document.documentElement.clientHeight-oDiv.offsetHeight){
t=document.documentElement.clientHeight-oDiv.offsetHeight;
}
oDiv.style.left=l+'px';
oDiv.style.top=t+'px';
}
document.onmouseup=function(){
document.onmouseup=null;
document.onmousemove=null;
}
}
}
四、最終效果
實現對div的任意拖拽,大家可以將代碼復制后自行演示;
如有疑問請留言,喜歡請收藏,看更多js內容,可以關注。
*請認真填寫需求信息,我們會在24小時內與您取得聯(lián)系。