GVKun编程网logo

JS实现多个div块之间相互拖放,调换位置(多个div拖拽互换位置)

15

本文将为您提供关于JS实现多个div块之间相互拖放,调换位置的详细介绍,我们还将为您解释多个div拖拽互换位置的相关知识,同时,我们还将为您提供关于bootstrap中利用Tag实现多个div的上下页

本文将为您提供关于JS实现多个div块之间相互拖放,调换位置的详细介绍,我们还将为您解释多个div拖拽互换位置的相关知识,同时,我们还将为您提供关于bootstrap中利用Tag实现多个div的上下页切换、C#中String类型与json之间相互转换的实现方法、div块中嵌套div块怎么父块div就会下沉_html/css_WEB-ITnose、div调换位置后不按照之前样式显示的实用信息。

本文目录一览:

JS实现多个div块之间相互拖放,调换位置(多个div拖拽互换位置)

JS实现多个div块之间相互拖放,调换位置(多个div拖拽互换位置)

[html] view plain copy
<!DOCTYPE HTML>  
<html>  
<head>  
<style type="text/css">  
#div1, #div2  
{float:left; width:100px; height:35px; margin:10px;padding:10px;border:1px solid #aaaaaa;}  
</style>  
<script type="text/javascript">  
function allowDrop(ev)  
{  
ev.preventDefault();  
}  
  
var srcdiv = null;  
function drag(ev,divdom)  
{  
srcdiv=divdom;  
ev.dataTransfer.setData("text/html",divdom.innerHTML);  
}  
  
function drop(ev,divdom)  
{  
ev.preventDefault();  
if(srcdiv != divdom){  
srcdiv.innerHTML = divdom.innerHTML;  
divdom.innerHTML=ev.dataTransfer.getData("text/html");  
}  
}  
</script>  
</head>  
<body>  
  
<div id="div1" ondrop="drop(event,this)" ondragover="allowDrop(event)" draggable="true" ondragstart="drag(event, this)">  
  <p>ni hao!</p>  
</div>  
<div id="div2" ondrop="drop(event,this)" ondragover="allowDrop(event)" draggable="true" ondragstart="drag(event, this)">  
<p>Hello world!</p>  
</div>  
  
</body>  
</html>  

 

上面是代码,保存为html,然后用浏览器打开,可以查看效果。

简要说一下,上面的函数:

ondrop: 拖到目的地放下之后要做的处理,这里自定义drop(event,this)函数,互换两个的innerHTML

ondragover:当拖动链接等有默认事件的元素时,要在ondragover事件中用ev.preventDefault()阻止默认事件。否则drop事件不会触发。

draggable:允许拖动

ondragstart:选取拖动目标要做的处理,这里保存拖动目标的innerHTML.

 

bootstrap中利用Tag实现多个div的上下页切换

bootstrap中利用Tag实现多个div的上下页切换

添加 nav 和 nav-tabs 类到 ul 中,将会应用 Bootstrap 标签样式,添加 nav 和 nav-pills 类到 ul 中,将会应用 Bootstrap 胶囊式样式

<ulrole="tablist">
<li role="presentation"><a href="#center" aria-controls="center" role="tab" data-toggle="tab">选择基本信息</a></li>
<li role="presentation"><a href="#account" aria-controls="account" role="tab" data-toggle="tab">填写基本实验信息</a></li>
<li role="presentation"><a href="#exp_method_id" aria-controls="messages" role="tab" data-toggle="tab">实验原理</a></li>
<li role="presentation"><a href="#exp_diagram_id" aria-controls="exp_method_id" role="tab" data-toggle="tab">实验图</a></li>
<li role="presentation"><a href="#exp_code_id" aria-controls="exp_code_id" role="tab" data-toggle="tab">实验核心代码</a></li>
<li role="presentation"><a href="#exp_description_id" aria-controls="exp_description_id" role="tab" data-toggle="tab">实验功能描述</a></li>
<li role="presentation"><a href="#exp_result_id" aria-controls="exp_result_id" role="tab" data-toggle="tab">实验结果分析</a></li>
</ul>

js代码(使用 Javascript 来启用标签页):

<script type="text/javascript">
$(‘#myTabs a[href="#center"]‘).tab(‘show‘)
$(‘#myTabs a[href="#account"]‘).tab(‘show‘)
$(‘#myTabs a[href="#exp_method_id"]‘).tab(‘show‘)
$(‘#myTabs a[href="#exp_diagram_id"]‘).tab(‘show‘)
$(‘#myTabs a[href="#exp_code_id"]‘).tab(‘show‘)
$(‘#myTabs a[href="#exp_description_id"]‘).tab(‘show‘)
$(‘#myTabs a[href="#exp_result_id"]‘).tab(‘show‘)
</script>

相应div里面的内容:

<div role="tabpanel"id="center">值</div>

<div role="tabpanel"id="account"></div>

......

可在每个div中设置上下页来切换不同div

<ul role="tablist">

<li role="presentation"><a href="#exp_result_id" aria-controls="exp_result_id" role="tab" data-toggle="tab"><span></span>上一页&nbsp;&nbsp;&nbsp;&nbsp;</a></li>
<li role="presentation"><a href="#account" aria-controls="account" role="tab" data-toggle="tab"><span></span>下一页</a></li>
</ul>

<ul role="tablist">
<li role="presentation"><a href="#center" aria-controls="center" role="tab" data-toggle="tab"><span></span>上一页&nbsp;&nbsp;&nbsp;&nbsp;</a></li>
<li role="presentation"><a href="#exp_method_id" aria-controls="messages" role="tab" data-toggle="tab"><span></span>下一页</a></li>
</ul>

......

js代码:

<script type="text/javascript">

var nr=document.getElementsByTagName(‘li‘);

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

nr[i].onclick = function(){

alert( this.innerHTML )
}
for(i=nr.length; i>=0 ; i--){

nr[i].onclick = function(){

alert( this.innerHTML )
}

}

</script>

js循环div可选择其他方式,继续研究。

C#中String类型与json之间相互转换的实现方法

C#中String类型与json之间相互转换的实现方法

这篇文章主要介绍了c#实现string类型和json之间的相互转换功能,涉及c# json格式数据的构造、转换相关操作技巧,需要的朋友可以参考下

本文实例讲述了C#实现String类型和json之间的相互转换功能。分享给大家供大家参考,具体如下:


////Donet2.0 需要添加引用
// 从一个对象信息生成Json串
public static string ObjectToJson(object obj)
{
   return JavaScriptConvert.SerializeObject(obj);
}
// 从一个Json串生成对象信息
public static object JsonToObject(string jsonString,object obj)
{
   return JavaScriptConvert.DeserializeObject(jsonString, obj.GetType());
}
//Donet3.5自带了DLL处理json串
//注意引用:System.Runtime.Serialization,System.ServiceModel.Web
登录后复制

代码


using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
namespace CrjIIOfflineAccept.CrjIITools
{
  public class JsonTools
  {
    // 从一个对象信息生成Json串
    public static string ObjectToJson(object obj)
    {
      DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
      MemoryStream stream = new MemoryStream();
      serializer.WriteObject(stream, obj);
      byte[] dataBytes = new byte[stream.Length];
      stream.Position = 0;
      stream.Read(dataBytes, 0, (int)stream.Length);
      return Encoding.UTF8.GetString(dataBytes);
    }
    // 从一个Json串生成对象信息
    public static object JsonToObject(string jsonString, object obj)
    {
      DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
      MemoryStream mStream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));
      return serializer.ReadObject(mStream);
    }
  }
}
登录后复制

以上就是C#中String类型与json之间相互转换的实现方法的详细内容,更多请关注php中文网其它相关文章!

div块中嵌套div块怎么父块div就会下沉_html/css_WEB-ITnose

div块中嵌套div块怎么父块div就会下沉_html/css_WEB-ITnose

直接上代码:

<style>body{ margin:0; padding:0;}#header{ height:100px; width:100%; margin-top:0; padding:0; background:#999;}#header #titletext{ margin-top:20px; margin-left:40px; padding:0;}#header #titletext #h5{ }#content{ }</style></head><body> <div id="header"> <div id="titletext"> <h5>XXX系统</h5> </div> </div> <div id="content"> </div> <div id="footer"> </div></body>
登录后复制

我的意图是出现这样的效果

可结果出现了这样的效果

我不明白为什么我的header上会出现一块空白区域。我哪个属性写错了?


回复讨论(解决方案)

position:absolute;
加上这个

#header #titletext{position:absolute; margin-top:20px; margin-left:40px; padding:0;}
登录后复制

垂直margin压缩

可以考虑:去掉 #titletext{margin-top:20px;}
改设 #header {padding-top:20px;}

#header #titletext{
margin-top:20px; margin-left:40px;
padding:0;

<style type="text/css">body{ margin:0; padding:0;}#header{ height:100px; width:100%; margin-top:0; padding:0; background:#999; padding-top:20px;/*加上*/}#header #titletext{ /*注释掉margin-top:20px;*/ margin-left:40px; padding:0;}#header #titletext h5{/*这里的h5是标签选择器才对,因为你并没在HTML中为H5定义ID,所以不能加#*/ margin:0; padding:0;}#content{ }</style>
登录后复制



这样改就可以了,不过这样挺乱的
建议你
1、写样式之前先重置所有元素。*{margin:0; padding:0}
2、其次是能用padding的就不用margin,比如你那个titletext的元素,如果不用margin,直接用父元素#header的padding,就能显示正常。
3、另外,h5是标题标签,本身有上下margin的,你需要先重置为0

同上样式问题很多,你说的问题出在

本身是有margin值的,

呵呵,有一个简单的解决方法,就是给header添加"border:1px solid #999"样式,就可以了

#header{
    height:100px;
    width:100%;
    margin-top:0;
    padding:0;
    overflow:hidden;
    background:#999;
}

在ID header里面加上overflow:hidden;就出现你意想的效果了

给所有的元素加上margin:0;padding:0

因为所有的元素在不同的浏览器下默认有不同的margin和padding,如果不重置为0的话,调兼容会调死人的

产生此问题的根本原因是:margin collapse。
请看下面对CSS2.1标准8.3.1小节的引用:
The top margin of an in-flow block element collapses with its first in-flow block-level child''s top margin if the element has no top border, no top padding, and the child has no clearance.
翻译为中文就是:
如果in-flow结点没有top-border, 也没有top-padding,那么它的top margin 会与它的第一个孩子的top marin进行合并。

你的代码中h5具有默认的margin 22, titletext具有margin 20, 这两个会进行margin collapse。结果是titletext的top margin为22。
接下来,titletext会与header进行margin collapse。结果是header的top margin为22。
接下来,header会与body进行margin collapse。结果是body的top margin为22。
因此,实际上header、body都具有了22宽度的top margin,而margin是不会被绘制背景色。
你明白了么?。。。。

修改方法,
给header加上border或者padding。

div调换位置后不按照之前样式显示

div调换位置后不按照之前样式显示

两个不相邻的div,假设类1和类2 ,互相调换了位置,css并没有改动,为什么不类1和类2在浏览器上显示的样式不能按照原样输出,正好是相反的,但是把两个div的css也调换位置就可以按照他们原有的样式显示了,小弟有些糊涂,请各位大牛解惑

我们今天的关于JS实现多个div块之间相互拖放,调换位置多个div拖拽互换位置的分享就到这里,谢谢您的阅读,如果想了解更多关于bootstrap中利用Tag实现多个div的上下页切换、C#中String类型与json之间相互转换的实现方法、div块中嵌套div块怎么父块div就会下沉_html/css_WEB-ITnose、div调换位置后不按照之前样式显示的相关信息,可以在本站进行搜索。

本文标签: