js显示和隐藏div如何修改

JavaScript032

js显示和隐藏div如何修改,第1张

需要准备的材料分别有:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html,编写问题基础代码。

2、在index.html中的<script>标签,输入js代码:$('button').click(function(){$('#123').css('display','block')})。

3、浏览器运行index.html页面,此时点击btn按钮后,div的内容成功被显示了出来。

参考如下:

<input type="text">

<div id="divShow" style="display:noneposition:absolute">显示的内容;</div>

display:none,表示此层隐藏;

position:absolute,表示此层的为绝对位置,方便后期进行绝对定位

添加事件,完成效果;

<script type="text/javascript">

function showDiv(obj) {

// 保存元素;

var el = obj

// 获得元素的左偏移量;

var left = obj.offsetLeft

// 获得元素的顶端偏移量;

var top = obj.offsetTop

// 循环获得元素的父级控件,累加左和顶端偏移量;

while (obj = obj.offsetParent) {

left += obj.offsetLeft

top += obj.offsetTop

}

// 设置层的坐标并显示;

document.all.divShow.style.pixelLeft = left

// 层的顶端距离为元素的顶端距离加上元素的高;

document.all.divShow.style.pixelTop = top + el.offsetHeight 

document.all.divShow.style.display = "block"

}

</script>

<style>

#divShow 

{

width:150px

height:180px

border-width:thin

background:yellow

}

</style>

<input type="text" onfocus="showDiv(this)">

<div id="divShow" style="display:noneposition:absolute">显示的内容;</div>

注意:

offsetLeft和OffsetTop不是获得元素和页面的距离,只是获得元素和父元素的的距离,所以要进行while循环一层层累加距离,最后得到元素和页面之间的距离

层次关系:本元素->父元素->……>body->null,当为null时,退出while循环。

最终效果如下:

1、利用js代码首先创建一个div,document.createElement('div')2、确认div添加位置,可以在某个dom元素后面,或者通过css属性控制具体位置,主要通过left/top等属性控制。 3、确定位置之后,显示div即可。 示例:比如html中有一个文本输入框,...