2012-03-20 8 views
1

JQueryの 'slideToggle'関数を使用してボタンの押下時に表示され、隠されているHTMLに隠れたセクションがあります。絶対配置された要素は、ie7のJquery SlideToggleでアニメーション化しません。

このボタンは非表示のコンテンツの下にあり、すべてのブラウザでうまく動くが、ie7は絶対に配置されないようにボタンを書き換えなくても強制的にアニメーション化できる方法ですか?

<div class="hiddenContent"> 
<p>Hidden content is in here</p> 
</div> 
<div class="showmorecontainer"> 
<a class="showmore" href="#">SHOW</a> 
</div> 

おかげ

は、私は、コンテキストのためのいくつかのCSSとjQuery(注意上記の簡略化されたHTML)を追加しました

CSS - .showmorecontainer { 高さ:は24px; }

.showmore{ 
position:absolute; 
left:0px; 
bottom:0px; 
height:22px; 
background-image:url('../images/showmore.png'); 
background-repeat:no-repeat; 
width:330px; 
display:block; 
padding-left:195px; 
padding-top:2px; 
} 

jQueryの -

$(".showmore").click(function(e) { 
    $(this).parent().parent().find('.hiddenContent').slideToggle('slow',  function() { 
     if($(this).is(":hidden")){ 
      $(this).parent().find('.showmore').html('SHOW ME MORE'); 
      $(this).parent().find('.arrow').removeClass('arrowup'); 
     } 
     else{ 
      $(this).parent().find('.showmore').html('CLOSE BACK UP'); 
      $(this).parent().find('.arrow').addClass('arrowup'); 
     } 
    }); 
    e.preventDefault(); 
}); 
+0

私たちはいくつかのjavascriptとcssを見ることができますか? – zgood

答えて

0

これはちょうどIE7のCSSの問題であるようです。絶対配置された要素はアニメーション化されず、終点にジャンプします。私はちょうど絶対的な位置を取り除き、代わりに負のマージンを使うことでこれを解決しました。

0

あなたはIE7がエラーを投げているかどうかについては言及しなかったが、それがある場合、あなたは近いそれらを検討することをお勧めします。 ...これまで

$(this).parent().parent().find('.hiddenContent').slideToggle('slow', function() {

を... ...私はこれをテストするために、現時点ではIE7へのアクセスを持っていないが、このコード行を変更する場合、私は思ったんだけど

$(this).parents().find('.hiddenContent').slideToggle('slow', function() {

...役に立つかもしれません。

+0

ありがとうございました.JQueryにエラーはありませんでしたが、IE7のCSSの問題のようですが、絶対位置を削除して代わりに負のマージンを使用して解決しました –

関連する問題