2012-05-10 60 views
1

我有文章详细信息页面,其中显示文章详细信息,如文章图像,日期和文章文本。在文章的左侧,我放了一条垂直的蓝线,它等于文章正文的高度,因为我不确定文章的高度,我使用javascript来获取文章文本容器的高度并指定相同的高度到宽度为3个像素的垂直蓝条(div id ='ArticleBlueSide')。ASP.Net 4.0 URL路由块来自运行

它工作正常&蓝线也显示没有URL路由,但是当我添加URL路由蓝线不显示出来。

下面是我的HTML div包含的脚本块。

我正在使用c#使用ASP.Net 4.0 web窗体。

如果有人能帮助我解决这个设计问题,我将不胜感激。页插图的

$(document).ready(function() { 
    var h = document.getElementById("ArticleTextArea").offsetHeight; 
    h = h - 25; 
    document.getElementById("ArticleBlueSide").style.height = h + "px"; 
}); 


<div id="ArticleContainer"> 
    <div id="ArticleBlueSide"></div> 
    <div id="ArticleTextArea"> 
      <asp:Label ID="lblArticleDetails" CssClass="PageBodyText" runat="server" meta:resourcekey="lblArticleDetailsResource1"></asp:Label> 
    </div> 
</div> 

Example

落实以riffnl建议的解决方案之后(这有其自身的问题,因为蓝线长于文字,我不能修复它作为段落周围有填充。我的第一个解决方案工作得很好,除了它的URL后路由

Example after solution

+0

我试图重新初始化脚本,即使没有工作 – Learning

+2

出于好奇;你为什么不让蓝条成为div的背景,并且从左侧填充文本?这样背景总是会自动伸展。 – riffnl

+0

这是一个好主意。精湛的..我会尝试这个选项 – Learning

回答

0

我移动了下面的脚本,并把它放在解决了我的问题的div标签后面。我不明白为什么它不工作,如果我在div标签之前保留此脚本。

$(document).ready(function() { 
    var h = document.getElementById("ArticleTextArea").offsetHeight; 
    h = h - 25; 
    document.getElementById("ArticleBlueSide").style.height = h + "px"; 
}); 

我很欣赏来自其他人的回复,但这是我想要的脚本的行为。

0

@ riffnl的解决方案是要走的路是行不通的 - 解决您的填充问题像这样: http://jsfiddle.net/Wf6tA/

请注意,您可以单击一个段落来标记或取消标记。

+0

这是有用的脚本,但我想有一个没有休息的垂直线,如第一张图所示。 – Learning

+0

这就是示例所做的 - 每个段落都有一条不间断的标记线,就像在您的帖子中一样。如果你的意思是跨越段落,这是一个简单的改变。 http://jsfiddle.net/Wf6tA/1/ –

+0

解决方案很好,但问题是我的段落标记有10px的顶部填充,它增加了额外的蓝色线,如第二个图像中所示。我通过在div标签后添加我的原始脚本解决了同样的问题,它的工作原理我不知道为什么它不起作用,如果我保持脚本之前的div标签持有文章的主体 – Learning