为什么.show()使目标div出现在页面顶部?

时间:2014-12-07 00:10:47

标签: jquery css3

我遇到与此用户while showing a div it's always showing at top of page类似的问题。

我试图在正确的位置显示一个div,但是当我点击.show()的活动链接时,div正在出现,但它出现在页面顶部,重叠所有内容。

这是我的.js:

$(document).ready(function() {
        $(".hiddenreviewform").hide();
        $('.exposeform').click(function() {
                $(".hiddenreviewform").show();
                return false;   

        });
    });

这是隐藏div的CSS:

.hiddenreviewform{
    height: 486px;
    margin: 0 auto;
    border-radius: 3px;
    width: 556px;
    margin-left:244px;       
}

对我来说非常奇怪的是,如果我删除js并删除隐藏div上的display:none,当我刷新页面时它会出现在正确的位置。然而,如果我隐藏div然后使用jquery显示它,它将出现在页面顶部。我已经尝试添加位置:相对于隐藏的div,这并没有解决问题。

这正是我的代码出现的原因,无论出于何种原因,它都可以在codepen中运行,但不能在我的本地机器上运行。 http://codepen.io/donnaloia/pen/raxjbb

唯一的区别是整个codepen示例嵌套在更多父div中(我无法复制并粘贴其余的div,因为css被缩小,我不知道如何复制和粘贴相关代码文件)。所以我要假设父div设置的方式影响我隐藏的div在show()上的定位?

任何正确方向的答案或指示都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

我有一些建议。

  1. <div>内的部分<div class="hiddenreviewform">代码未正确关闭。
  2. 不要使用这么多<br>个标签。这不是好习惯。使用marginpadding等来正确定位您的数据。
  3. 你的styles真的(遗憾地说)凌乱。先做一些工作。
  4. 对于评分,使用(符号,& #9734;没有空格)而不是图片。This网站会很方便。
  5. 第一点将完成您的工作。