メイン コンテンツの div (テキスト、フラッシュ、または画像を含む) を数秒間部分的に表示するページに JQuery スライド リビール エフェクトを追加し、アニメーション化して完全なコンテンツ div を表示します。スクリプト化されたアニメーションは、ページ上の「.slide」クラス div に追加されます。このページには、テキストやその他の要素が配置されている量に基づいてさまざまな高さがあります。IE6 と FF 3 でテストしたところ、「ある程度」動作します。大丈夫。
ただし、IE7 でアニメーションをテストしても、div が完全には明らかにならず、コンテンツのほとんどをカバーしていません。また、他のブラウザでも誤ったカバーアップやクロップが発生することがあるため、スライドを表示する div アニメーションが完全に開かないことがあります。
ブラウザは、スペース、パディング、行の高さなど、含まれるすべてのコンテンツで div の全高を正しく計算していないと思います。
スクリプトが正確なdivの高さを取得し、アニメーションが正しい位置にスライドするように、これを適切に機能させる方法はありますか?
関連する JQuery コード:
// Set the initial open height for sliding div:
var sliderHeight = "485px";
var initialDelay = 2000;
var slideDuration = 2000;
$(document).ready(function(){
// Show the slider content
$('.slider').show();
$('.slider').each(function () {
var current = $(this);
current.attr("box_h", current.height());
});
$(".slider").css("height", sliderHeight);
var delay = function() { sliderOpen(); };
setTimeout(delay, initialDelay);
});
function sliderOpen()
{
var open_height = $(".slider").attr("box_h") + "px";
$(".slider").animate({"height": open_height}, {duration: slideDuration });
}