javascript - 在 href 旁边渲染 DIV

标签 javascript jquery html css

如何在 href 链接旁边呈现一个 div,我们使用的是 JQuery。 下面是附加的代码,当单击 div 时,div 会在浏览器选项卡下方呈现,我想在 href 链接旁边呈现,因为网页中会有很多 href 链接使用相同的 div 标签。

我不能在 css 中这样做,因为它固定在那个位置,我对页面中的许多 href 使用相同的 div,但在用户单击链接时动态更改 div 的内容。

附上代码。

任何帮助都会非常有帮助。

谢谢。

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>

<script type="text/javascript">
      $(document).ready(function(){

      $('#cluster1').hide();

            $('a').click(function(){

            $('#cluster1').show('slow');

   });

   $('a#close').click(function(){
        $('#cluster1').hide('slow');
        })

      });
</script>

<style>

.heading {
background:none repeat scroll 0 0 #B8CFE6;
color:#333333;
font:bold 12px verdana;
padding:7px;
}

.fr {
float:right;
}

element.style {
display:block;
}
.cluster {
background:none repeat scroll 0 0 #FFFFFF;
border:1px solid #757893;
display:none;
left:80px;
position:absolute;
text-align:left;
top:0;
width:560px;
z-index:10000;
margin-left:100px;
}

body, div, ul, ol, li, h1, h2, h3, h4, h5, h6, form, input, button, textarea, p, td {
margin:0;
padding:0;
}

.content {
background:none repeat scroll 0 0 #FFFFFF;
font:11px verdana;
overflow:auto;
width:560px;
}

.bottom {
border-top:1px solid #C1C8D4;
font:11px verdana;
padding:7px;
text-align:right;
}
.fl {
float:left;
}

.content ul li {
float:left;
padding:5px;
width:170px;
list-style: none;
}
</style>

<div class="cluster" id="cluster1" style="display: block;"><div class="heading">
                    <div class="fr"><p><a href="#" id="close">Close</a></p></div>
                        Update
                </div>
                    <form method="post" action="">

                    </form>
                </div>

                </br></br></br></br></br></br></br></br>
                <a href="#" id="click">Click Here</a>

最佳答案

您可以使用 .position() 获取链接的位置功能。它会给你元素相对于偏移父元素的位置(使用 .offset() 你可以得到它相对于文档)。

然后你可以简单地使用.css()在 div 上定位它。

  $('a').click(function(){
      var linkpos=$(this).position();
      $('#cluster1')
          .css('top', linkpos.top)
          .show('slow');         
  });

jsFiddle Demo

关于javascript - 在 href 旁边渲染 DIV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6360936/

相关文章:

javascript - 如何在一行中将事件监听器添加到多个元素

javascript - jQuery 函数不适用于 AJAX 数据返回

用于 iPhone 的 JavaScript 从非默认 iOS 浏览器在 Safari 中打开

javascript - 单击取消时如何将复选框设置为取消选中

javascript - 根据表单中动态添加的输入值应用 jQuery

javascript - 使用 Knockout.js 的单选按钮列表

jquery - 在 jquery 中使用隐藏和显示时不需要的 "flickering"效果

javascript - 如何从对象和类中清除 javascript 中浏览器的内存?

javascript - 在浏览器中实时输入数学

html - 根据屏幕分辨率更改 Material Design 响应按钮的内容