求教,如何用jQuery或其他方法实现两个div的间距设置。

作者&投稿:简薇 (若有异议请与网页底部的电邮联系)
如何用Jquery实现DIV由中间向两边~

如何用Jquery实现DIV由中间向两边




menu

* {
margin: 0;
padding: 0;
outline: 0;
vertical-align: baseline;
}

body {
overflow: hidden;
}

div {
height: 500px;
text-align: center;
line-height: 500px;
margin: auto;
cursor: pointer;
border: 1px solid black;
top: 0px;
font-size: 100px;
}

div.center {
width: 300px;
background-color: blue;
}

div.left,div.right {
position: absolute;
display: none;
}

div.left {
float: left;
background-color: orange;
}

div.right {
float: left;
background-color: yellow;
}



$ (function ()
{
var doms = init ();
var center = doms[1], left = doms[0], right = doms[2];
var width = center.width();
center.hover (function ()
{
left.show ().stop ().animate (
{
width : width + "px"
}, "slow");
right.show ().stop ().animate (
{
width : width + "px"
}, "slow");
}, function ()
{
left.stop ().animate (
{
width : "0px"
}, "slow", function ()
{
left.hide ();
});
right.stop ().animate (
{
width : "0px"
}, "slow", function ()
{
right.hide ();
});
});
});

$(window).resize (function ()
{
init ();
});

var init = function ()
{
var sw = screen.availWidth, sh = screen.availHeight;
var left = $ ("div.left").height(sh + "px"),
center = $ ("div.center").height(sh + "px"),
right = $ ("div.right").height(sh + "px");
center.width (sw / 3 + "px");
var w = center.prop ("offsetLeft");
var width = sw / 3;
left.css ("right", width + w + "px");
right.css ("left", width + w + "px");
return [left, center, right];
}





寿

(1)比如两个div中最外层的div的id为t,再添加一个div可以如此:$("#t").appendTo($(""))或者是 $("#t").wrapAll("")皆可;
(2)当然上述中div没有id的话就你用jquery的find方法查找你需要的div即可

一下是相关代码,JS中定义的变量margin就是你所说的每个div的间距,这样你就不用去设置margin-right了。
另外,在运行我贴上的代码的时候请应用jquery类库

<style type="text/css">
body, ul, li, h3 { margin: 0; padding: 0; list-style: none; font: bold 12px "微软雅黑"; }
/*瀑布流布局样式*/
#lxf-box { position: relative; }
#lxf-box li { position: absolute; background: #fff; border: solid 1px #ccc; text-align: center; padding: 10px; left: 0px; top: 0; }
h3 { padding-top: 8px; }
img { width: 200px; height: auto; display: block; border: 0 }
/*css3动画*/
li { -webkit-transition: all .7s ease-out .1s; -moz-transition: all .7s ease-out; -o-transition: all .7s ease-out .1s; transition: all .7s ease-out .1s }
</style>

<ul id="lxf-box">
<li><a ><img /></a>
<h3>图片标题</h3>
</li>
<li><a ><img /></a>
<h3>图片标题</h3>
</li>
<li><a ><img /></a>
<h3>图片标题</h3>
</li>
<li><a ><img /></a>
<h3>图片标题</h3>
</li>
<li><a ><img /></a>
<h3>图片标题</h3>
</li>
<li><a ><img /></a>
<h3>图片标题</h3>
</li>
<li><a ><img /></a>
<h3>图片标题</h3>
</li>

</ul>

<script>
/*
原理:1.把所有的li的高度值放到数组里面
2.第一行的top都为0
3.计算高度值最小的值是哪个li
4.把接下来的li放到那个li的下面
*/

var margin = 10; //这里设置间距
var li=$("li"); //这里是区块名称
varli_W = li[0].offsetWidth+margin; //取区块的实际宽度(包含间距,这里使用源生的offsetWidth函数,不适用jQuery的width()函数是因为它不能取得实际宽度,例如元素内有pandding就不行了)
function liuxiaofan(){//定义成函数便于调用
var h=[];//记录区块高度的数组
var n = document.documentElement.offsetWidth/li_W|0;//窗口的宽度除以区块宽度就是一行能放几个区块
for(var i = 0;i < li.length;i++) {//有多少个li就循环多少次
li_H = li[i].offsetHeight;//获取每个li的高度
if(i < n) {//n是一行最多的li,所以小于n就是第一行了
h[i]=li_H;//把每个li放到数组里面
li.eq(i).css("top",0);//第一行的Li的top值为0
li.eq(i).css("left",i * li_W);//第i个li的左坐标就是i*li的宽度
}
else{
min_H =Math.min.apply(null,h) ;//取得数组中的最小值,区块中高度值最小的那个
minKey = getarraykey(h, min_H);//最小的值对应的指针
h[minKey] += li_H+margin ;//加上新高度后更新高度值
li.eq(i).css("top",min_H+margin);//先得到高度最小的Li,然后把接下来的li放到它的下面
li.eq(i).css("left",minKey * li_W);//第i个li的左坐标就是i*li的宽度
}
$("h3").eq(i).text("编号:"+i+",高度:"+li_H);//把区块的序号和它的高度值写入对应的区块H3标题里面
}
}
/* 使用for in运算返回数组中某一值的对应项数(比如算出最小的高度值是数组里面的第几个) */
function getarraykey(s, v) {for(k in s) {if(s[k] == v) {return k;}}}
/*这里一定要用onload,因为图片不加载完就不知道高度值*/
window.onload = function() {liuxiaofan();};
/*浏览器窗口改变时也运行函数*/
window.onresize = function() {liuxiaofan();};
</script>
</body>
</html>

设置两个div之间的间距,方法有很多种,常见的方法如下:
1、对样式的设置来完成间距设置:
<div style="margin-bottom:___px;"></div><div></div>
或者
<div></div><div style="margin-top:___px;"></div>
2、在css中设置div间距,如:
<div id="div1"></div><div id="div2"></div>
<style type="text/stylesheet">
#div1{margin-bottom:___px;}

#div2{margin-top:___px;}
</style>
3、使用JavaScript或者jQuery设置,如:
<div id="div1"></div><div id="div2"></div>
<script type="text/javascript">
$("#div1").attr("style","margin-bottom:___px");

$("#div2").css("margin-top","___px");
</script>

请问你的瀑布流是如何实现的?

如果每个div都是绝对定位的话,不需要考虑 margin-right.

如果是固定列的位置,往下排div的话, 设置列的margin-right就行了啊.

设置它们的父容器的margin-right:-20px可以不,互相抵消掉

你可以找就query插件进行布局管理


学前端开发可以不学jquety直接学vue吗
学习前端开发时,是否需要学习jQuery再学习Vue这个问题没有一个固定的答案,取决于个人的需求和学习目标。首先,让我们了解一下jQuery和Vue这两个框架的特点和用途。更系统全面的学习资料,点击查看jQuery是一个广泛使用的JavaScript库,旨在简化DOM操作、事件处理、动画效果等前端开发任务。它具有良好的兼容性...

补考网课的时候能不能刷进度条?
不可以刷进度的,只能慢慢的学习,有时间限制。

学前端开发可以不学jquety直接学vue吗
在IT培训领域,我们拥有丰富的经验和卓越的口碑。千锋教育的Java开发培训课程涵盖了Java语言基础、面向对象编程、Java框架等内容,帮助学员全面掌握Java开发所需的知识和技能。我们注重理论与实践相结合,通过实际项目和案例的训练,帮助学员掌握实际应用能力。同时,我们与各大互联网公司保持紧密合作,了解Java开...

什么是反射和反射弧?
简单反射的中枢范围比较局限,在神经中枢内传入神经元可直接与传出神经动物反射形成单突触联系;多数反射在传入与传出神经元之间要经过一个以上中间神经元的接替,形成多突触反射。 传出神经:运动神经元的轴突。将反射中枢发生的神经冲动传到效应器。在反射活动中,运动神经元既接受传入神经或中间神经元传入冲动的影响,又接...

《郑人买履》文言文翻译是什么?
有人问:“你为什么不直接用自己的脚去试鞋子?”他回答说:“我宁可相信量好的尺码,也不相信自己的脚。”原文:郑人有欲买履者,先自度其足,而置之其坐,至之市,而忘操之。已得履,乃曰:“吾忘持度。”反归取之。及反,市罢,遂不得履。人曰:“何不试之以足? ”曰:“宁信度,...

铜仁地区17897301028: 如何用jquery或document 操作html字符串. -
子丰妍小儿: 两种办法试试吧1.按照字符串的规律拆分变量,取到值2.把这个变量代表的dom元素显示到html里某个隐藏的标签内,然后$("#b1")的方式取值.

铜仁地区17897301028: 如何用jquery实现实时监控浏览器宽度 -
子丰妍小儿: window.onresize=resizeBannerImage;//当窗口改变宽度时执行此函数 function resizeBannerImage() { var winW = $(window).width(); va if( $(window).width() > 600 ) { /* 这里是要执行的代码 */ } }

铜仁地区17897301028: 求教高手:用jquery怎么获取页面的特定内容 -
子丰妍小儿: Jquery支持多种选择器 ,比如 根据id、class、attribute属性、标签名选择 $("#a")就可以取到id为 a的元素$(".b") 就可取到class含有 b 的元素 建议你看一下Jquery的API,里面有更详细的说明

铜仁地区17897301028: 使用JQuery如何与数据库交互? -
子丰妍小儿: 这很多方法 但是都利用jQuery.ajax()来实现<br><br>提交的这个地址<br>可以是jsp页面.你可以在jsp里面写访问的方法,而ajax有一个data属性,这个就是你需要传递的值.<br>也可以是一个类似.d0的后台程序.如果你使用jquery跟struts的...

铜仁地区17897301028: jquery如何同时实现旋转,与局部放大
子丰妍小儿: html代码:<br> &lt;div id=&quot;idContainer&quot;&gt; &lt;/div&gt;<br> &lt;input id=&quot;idLeft&quot; type=&quot;button&quot; value=&quot;向左旋转&quot; /&gt;<br> &lt;input id=&quot;idRight&quot; type=&quot;button&quot; value=&quot;向右...

铜仁地区17897301028: 《菜鸟求教》我想用jquery给div实现排序功能 -
子丰妍小儿: 例如,在要用到$("div p")的地方,就必须换成jQuery("div p"). '''注意:'''这个函数必须在你导入jQuery文件之后,并且在导入另一个导致冲突的库'''之前'''使用.当然也应当在其他冲突的库被使用之前,除非jQuery是最后一个导入的.

铜仁地区17897301028: 怎么用jquery改变input里面的value attr是取值 text或html怎么不能重新赋值啊,求教@ -
子丰妍小儿: jQuery提供了attr() 方法用于设置/改变属性值.这段代码就可以获取下拉框被选中的value值var type = $('select option:selected').val();alert(type).<br><br>(1)通过attr()获取元素的值://此处是获取id为len元素的value值//记得里面的value要用双引...

铜仁地区17897301028: 如果用Jquery实现在页面刷新时,让页面滚动到指定高度? -
子丰妍小儿: 我照你的方法试了试,是可以的.<br>你对照一下如下代码,看有啥错,改下jquery路径就可以运行<br><br><br><!doctype html><br><html lang="en"><br> <head><br> <meta charset="UTF-8"><br> <title>Document</title><br> <style><br> ...

铜仁地区17897301028: 求教jquery file uploader 使用 -
子丰妍小儿: jquery 的文件上传控件如果要获取文件信息一般都是通过后台Request.Files[0].FileName 来获取文件信息,包括文件大小等等 当然Request.Files[0].FileName是C#,如果是其他语言可以变换一下 :)

铜仁地区17897301028: 网页中如何实现文本框只能输入数字?
子丰妍小儿: 提供以下二种方法可以实现. 方法一、四事件组合完合可以实现文本框只能输入数字input type=textonkeypress = 'return /^\d$/.test(String.fromCharCode(event....

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网