前端拖拽自动生成html,拖拽生成HTML

//

document.onselectstart = document.ondrag = function() {

return false;

}

//tag num

var num = 1;

var colorArray = [{

"color": "#993300",

"name": "Burnt orange"

},

{

"color": "#333300",

"name": "Dark olive"

},

{

"color": "#003300",

"name": "Dark green"

},

{

"color": "#003366",

"name": "Dark azure"

},

{

"color": "#000080",

"name": "Navy Blue"

},

{

"color": "#333399",

"name": "Indigo"

},

{

"color": "#333333",

"name": "Dark gray"

},

{

"color": "#800000",

"name": "Maroon"

},

{

"color": "#FF6600",

"name": "Orange"

},

{

"color": "#808000",

"name": "Olive"

},

{

"color": "#008000",

"name": "Green"

},

{

"color": "#008080",

"name": "Teal"

},

{

"color": "#0000FF",

"name": "Blue"

},

{

"color": "#666699",

"name": "Grayish blue"

},

{

"color": "#808080",

"name": "Gray"

},

{

"color": "#FF0000",

"name": "Red"

},

{

"color": "#FF9900",

"name": "Amber"

},

{

"color": "#99CC00",

"name": "Yellow green"

},

{

"color": "#33CCCC",

"name": "Turquoise"

},

{

"color": "#3366FF",

"name": "Royal blue"

},

{

"color": "#800080",

"name": "Purple"

},

{

"color": "#999999",

"name": "Medium gray"

},

{

"color": "#FF99CC",

"name": "Pink"

},

{

"color": "#FFCC99",

"name": "Peach"

},

{

"color": "#FFFF99",

"name": "Light yellow"

},

{

"color": "#CCFFCC",

"name": "Pale Green"

},

{

"color": "#CCFFFF",

"name": "Pale cyan"

},

{

"color": "#99CCFF",

"name": "Light sky blue"

},

{

"color": "#CC99FF",

"name": "Plum"

},

{

"color": "#FFFFFF",

"name": "White"

},

{

"color": "#000000",

"name": "Black"

}

];

//渲染页面中的颜色选择列表

var colorSel = "";

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

colorSel += '' + colorArray[i].name + '';

}

var pp = document.getElementById("fontColorSelect").innerHTML = colorSel;

function mouseDown(ev) {

var oDiv = document.getElementById(ev.id);

oDiv.onmousedown = function(ev) {

var oEvent = ev || event;

var disX = oEvent.clientX - oDiv.offsetLeft;

var disY = oEvent.clientY - oDiv.offsetTop;

if (oDiv.setCapture) {

oDiv.onmousemove = mouseMove;

oDiv.onmouseup = mouseUp;

oDiv.setCapture();

} else {

document.getElementById("back").onmousemove = mouseMove;

document.getElementById("back").onmouseup = mouseUp;

return false; //解决firefox第二次拖拽时发生的bug;

}

function mouseMove(ev) {

var oEvent = ev || event;

var l = oEvent.clientX - disX;

var t = oEvent.clientY - disY;

if (l < 0) {

l = 0;

} else if (l > document.getElementById("back").clientWidth - oDiv.offsetWidth) {

l = document.getElementById("back").clientWidth - oDiv.offsetWidth;

}

if (t < 0) {

t = 0

} else if (t > document.getElementById("back").clientHeight - oDiv.offsetHeight) {

t = document.getElementById("back").clientHeight - oDiv.offsetHeight;

}

oDiv.style.left = l + 'px';

oDiv.style.top = t + 'px';

}

function mouseUp(ev) {

this.onmousemove = null;

this.onmouseup = null;

if (oDiv.releaseCapture) {

oDiv.releaseCapture();

}

getHTML();

}

}

}

//取到HTML

function getHTML() {

var newHTML = document.getElementById("allDiv").innerHTML;

//alert(document.getElementById("allDiv").innerHTML);

document.getElementById("innerHTML").value = newHTML;

}

//更改标签内容

function changeName(newL) {

var comment = prompt("请输入标签内容", "");

if (comment != null && comment != "") {

newL.innerHTML = comment + '×';

}

}

//添加新标签

function addTag() {

var newLabel = '标签(双击修改) ×';

document.getElementById("back").innerHTML += newLabel;

num++;

fontSize = 10;

}

//删除当前标签

function delect(ev) {

document.getElementById(ev.parentNode.parentNode.id).removeChild(document.getElementById(ev.parentNode.id));

}

//显示删除按钮

function supShow(ev) {

ev.firstElementChild.style.display = "block";

}

//隐藏删除按钮

function supHide(ev) {

ev.firstElementChild.style.display = "none";

}

//字号

function changeFontSize() {

var currentSize = document.getElementById("fontSizeSelect").value;

var number = num - 1;

document.getElementById("tag" + number).style.fontSize = currentSize;

}

//字体

function changeFont() {

var currentFont = document.getElementById("fontSelect").value;

var number = num - 1;

document.getElementById("tag" + number).style.fontFamily = currentFont;

}

//字体颜色

function changeColor() {

var currentColor = document.getElementById("fontColorSelect").selectedOptions[0].style.backgroundColor;

var number = num - 1;

document.getElementById("tag" + number).style.color = currentColor;

}

function addItalic() {

var number = num - 1;

if (document.getElementById("tag" + number).style.fontStyle) {

document.getElementById("tag" + number).style.fontStyle = "";

} else {

document.getElementById("tag" + number).style.fontStyle = "italic";

}

}

function addBold() {

var number = num - 1;

if (document.getElementById("tag" + number).style.fontWeight) {

document.getElementById("tag" + number).style.fontWeight = "";

} else {

document.getElementById("tag" + number).style.fontWeight = "bold";

}

}

function addUnderline() {

var number = num - 1;

if (document.getElementById("tag" + number).style.textDecoration) {

document.getElementById("tag" + number).style.textDecoration = "";

} else {

document.getElementById("tag" + number).style.textDecoration = "underline";

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前端拖拽组件生成页面是一种通过拖拽组件来生成动态页面的方法。这种方法可以帮助开发者快速搭建页面,提高开发效率。在实际应用中,可以使用一些第三方插件来实现这个功能,比如vuedraggable。 vuedraggable是一个Vue.js的插件,它提供了一种简单的方式来实现拖拽组件。你可以通过拖拽组件来生成页面。具体的实现步骤如下: 1. 首先,在你的项目中引入vuedraggable插件。你可以通过在项目中引入draggable组件来使用该插件。 2. 然后,根据你的需求,结合相关的文档和示例代码,来进行开发。你可以根据自己的需求来定义拖拽组件的样式、属性和行为。 3. 接下来,你可以将需要拖拽的组件放置在页面上,并配置好拖拽的规则和交互效果。你可以使用vuedraggable提供的一些API来实现拖拽组件的排序、限制拖拽的范围和处理拖拽事件。 4. 最后,你可以在浏览器中预览生成的动态页面,通过拖拽组件来实现页面的交互和布局调整。你可以根据需要对拖拽组件进行修改和优化,以满足项目的需求。 通过使用前端拖拽组件生成页面的方法,你可以更加灵活和高效地进行页面开发,同时提供了一种可视化的方式来搭建页面结构。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [vue使用vuedraggable拖拽组件,进行组件生成](https://blog.csdn.net/m0_59023970/article/details/129798365)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Vue拖拽组件列表实现动态页面配置功能](https://download.csdn.net/download/weixin_38732463/12940620)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值