HTML+CSS+JS实现点击超链接弹出文本框效果

我点那个申请加入,弹出一个文本框,可输入文字的,我用的事绝对定位,所以点击左边那个申请加入和点击右边那个申请加入出现的文本框在同一个位置,怎么样可以使那个弹出的文本框位置在申请加入旁边。

出现这个问题,首先需要搞明白弹出框是只有一个,还是每个申请加入旁边都有一个。
如果是第二种情况,那就来说说绝对定位是如何进行定位的。
我们的说法是绝对定位,但其实是相对的,它需要一个相对基准点,来进行定位。如果绝对定位的父标签设置了属性position: relative;,那这个父标签就是它的基准点,相对于这个父标签的偏移量来绝对定位。如果所有的父标签都没有设置那个属性,那就不好办了,它会跑到最上面去,以body进行定位。明白了这个就好办了,给弹出框的父标签加上属性position: relative,再调整一下偏移量(就是left或right,top或bottom的值)就可以了。
为什么先说第二种情况呢?因为第一种情况比较麻烦,而且也要知道绝对定位是如何进行定位的才行。需要用JS判断点击的申请加入是哪一个,根据点击的这个按钮的位置来计算偏移量,再进行定位。
写了这么多字累了,才发现没有悬赏分。追问

你说的这种方法我已经实现,这样子我要给每一个弹出框设置top和left的值,我现在想让做好第一个,然后复制个7、8个,我点每一个的申请加入,他弹出的窗口都在申请加入旁边,结果我现在是复制7、8个,点每一个的申请加入,弹出的窗口都在第一个申请加入旁边。

追答

那就是第二种情况了,原生JS我不是很清楚,Jquery中有个方法很好用offset(),用它可以获取到元素的偏移量,有两个值offset().top,offset().left,用这个方法获取到鼠标点击的申请加入的偏移量,再加上一个数字,然后赋值给弹出框,弹出框就会出现在你点的申请加入的旁边了

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-12-25
用$(this). 获取更靠谱一点。你可以试试,同时,绝对定位的元素若父元素也是定位的则不会出现这种情况。
第2个回答  2012-12-25

 

自己算算吧

追问

恕我愚昧,这是神马?

追答

用这个,可以算出你那个“申请加入”的绝对位置,然后定位你的“弹出框”的位置

第3个回答  2012-12-26
既然是设置的绝对定位,你给弹出的框的y加一个按钮的宽度就好了嘛。

如何用JS点击超链接弹出对话框
1、在body里面布局,把对话框的大致结构写出来。2、写css样式,让对话框在网页上体现出来。3、得到如下图样式,结构完成。4、最后就是写js样式,让我们的对话框达到一定的效果。5、点击超链接弹出对话框。

HTML+CSS+JS自主设计弹出窗口的方法,在线编辑器
自主设计HTML弹出小窗口的方法需要结合HTML、CSS和JavaScript。核心原理是调整窗口的display属性,点击按钮时将display设置为block,并给窗口绑定位置。具体实现代码如下:代码关键在于设置display属性和z-index值。z-index值是决定HTML元素在堆叠顺序中的位置的关键属性。在三维空间中的排列不仅涉及水平和垂直方向...

divcssjs实现弹出框?
HTML+CSS+JS实现点击超链接弹出文本框效果明白了这个就好办了,给弹出框的父标签加上属性position:relative,再调整一下偏移量(就是left或right,top或bottom的值)就可以了。通过window.open方法以弹出页面方式实现。通过window.showmodaldialog方法以弹出对话框方式实现。为超链接添加onclick()动作,动作内...

html怎么做一个按钮,就弹出一段文字的窗口呀
主窗口打开文件1.htm,同时弹出小窗口page.html 如下代码加入主窗口<head>区:<script language="javascript"><!-- function openwin() { window.open("page.html","","width=200,height=200") } \/\/--><\/script>加入<body>区: <a href="1.htm" onclick="openwin()">open<\/a> 弹出的...

点击编辑按钮 后 文字变成文本框,按钮变成保存 js +css+html 求代码
'edit');var item = document.getElementsByTagName('th');var item_length = item.length-1var item_value = new Array(item_length);for(i = 0; i < item_length; i++){item_value[i] = item[i].innerHTML;}edit.onclick =function(){if(statu == 0){edit.innerHTML= '保存'...

如何用css或js设置如下图的样式,当点击的时候出现下拉菜单,显示里面...
css:.show{ display:none;} js:var isClick=true;(".p").click(function(){ if(isClick){ (".show").css("display","block");isClick=false;}else{ (".show").css("display","none");isClick=true;} })思路,要显示的内容用一个div包住,当你点击基础的时候,div显示,再点击时...

HTML怎么用div盒子做弹出式菜单,就是当鼠标移动到目标的超链接时,就...
还有一种原理,利用body的点击事件来操作元素的,也是可以的,但是要利用到js比较麻烦,下面的这个demo是只需要用到css就可以实现的 <!doctype html><html><head><meta charset="utf-8"><title>字符串连接<\/title><style type="text\/css">.tishi{position:relative; \/*这个是关键*\/z-index:2;}...

html+css+javascript 菜单单击式下拉菜单
openDropdown.classList.remove('show'); } } }}window.onclick = function(e) { if (!e.target.matches('.dropbtn')) { hideList(""); }}点击标题 A:点击标题 B:JSFiddle 调试:jsfiddle.net\/soL73u4y\/2\/ ...

如何使用HTML实现点击一个链接打开新窗口
<SCRIPT LANGUAGE="javascript"> js脚本开始;window.open 弹出新窗口的命令;page.html 弹出新窗口的文件名;newwindow 弹出窗口的名字(不是文件名),可用空 ″代替;height=100 窗口高度;top=0 窗口距离屏幕上方的像素值;left=0 窗口距离屏幕左侧的像素值;toolbar=no 是否显示工具栏,yes为显示...

导航菜单如何点击显示一个页面 用html+js+css
最简单的原理就是用js实现,显示隐藏层。还有一个触发事件就是onclick,按照这样的思路我想你应该可以解决的。再细节的问题,可以去百度里找相关的思路,比如js的隐藏hide和显示show函数之类的。

相似回答