在href旁边渲染DIV

时间:2011-06-15 16:20:18

标签: javascript jquery html css

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

我无法在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>

1 个答案:

答案 0 :(得分:1)

您可以使用.position()功能获取链接的位置。它将为您提供相对于偏移父项的元素位置(使用.offset(),您可以相对于文档获取它。)

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

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

jsFiddle Demo