2013-03-03 46 views
0

我想獲取標題和段落的高度值。所以當我改變它們的尺寸時,我可以設置偏移量使它們適合彼此之間的距離,因爲它們被設置爲絕對。jQuery高度返回錯誤值

我通常會做的不同,但我必須做到絕對位置,因爲這是響應滑塊的工作方式。

但是,當我使用每個()它只能正確工作在第一張幻燈片(當前一張)上,而不是所有其他。即使幻燈片的大小沒有改變,但當它們移動到一邊時。

<div class="slide-content"> 
    <h2><span class="slide-title"><?php the_title() ?></span></h2> 
    <p class="slide-text"><?php echo $text; ?></p> 

    <a href="<?php echo get_permalink($meta["page"]) ?>" class="da-link">> Jetzt Informieren</a> 
</div> 

function test() { 
    $(".slide-content").each(function() { 
     var content = $(this); 

     var title = content.find(".slide-title"); 
     var text = content.find(".slide-text"); 
     var link = content.find(".da-link"); 

     var titleheight = title.height(); 
     var textheight = text.height(); 

     text.css("top",titleheight+"px"); 
     link.css("top",titleheight+textheight+"px"); 

    }); 
} 

這是我的功能。

我得到的值是:

title: 122 text: 54 
title: 164 text: 144 
title: 164 text: 126 

第一對是正確的。其他人錯了。所以它只適用於當前幻燈片。 根據當前顯示的幻燈片,這將會有所不同。幻燈片未設置爲顯示:當它們移出時沒有任何變化,所有變化都是左偏移。

的函數被調用是這樣的:

$(window).resize(function() { 
     test(); 
    }); 

當我用谷歌瀏覽器檢查元素的尺寸保持不變,當舞臺的滑動動作。

我一直在每個()很多麻煩。那麼這可能是什麼?

+0

隨後的幻燈片是否也由JS插件添加?這是因爲如果這些元素是動態生成的,你必須事先使用'.on()','.live()'或'.delegate()'(儘管我強烈推薦第一個選項)。 p/s:小提琴會幫助我們想象你的問題。非常。許多。 – Terry 2013-03-03 21:00:22

回答

0

確保您首先應用了CSS重置。

然後在你的CSS中,爲標題和段落嘗試在'em'中給出行高。