2011-10-23 19 views
0

次のコードの場合、垂直スクロールバーはテキストを表示するためにまったくスクロールしないようですか?どんな助けでも大歓迎です。オーバーフローとポジショニングの両方を変更しようとしましたが、動作しませんでした。おそらくjavasciptの問題でしょうか?あるいは、CSSとjsの間の競合ですか?ありがとう:垂直スクロールが動作しない

あなたは(すべての目的のために問題ないはず相対)位置のいくつかの種類があり、コンテナにテキストをラップする必要が
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"  type="text/javascript"></script> 
<title>AUTO RESIZE BACKGROUND IMAGE</title> 
<script type="text/javascript"> 
$(document).ready(function() { 
     $("#triquibackimg").load(function(){ 
      resize_bg(); 
     }) 
     $(window).resize(function(){ 
      resize_bg(); 
     }) 
     function resize_bg(){ 
      $("#triquibackimg").css("left","0"); 
      var doc_width = $(window).width(); 
      var doc_height = $(window).height(); 
      var image_width = $("#triquibackimg").width(); 
      var image_height = $("#triquibackimg").height(); 
      var image_ratio = image_width/image_height;  
      var new_width = doc_width; 
      var new_height = Math.round(new_width/image_ratio); 
      if(new_height<doc_height){ 
       new_height = doc_height; 
       new_width = Math.round(new_height*image_ratio); 
       var width_offset = Math.round((new_width-doc_width)/2); 
       $("#triquibackimg").css("left","-"+width_offset+"px"); 
      } 
      $("#triquibackimg").width(new_width); 
      $("#triquibackimg").height(new_height); 
     } 
});  
</script> 
<style type="text/css"> 
     #triquiback{ 
      left: 0; 
      top: 0; 
      position:fixed; 
      overflow: auto; 
      zIndex: -9999 
     } 
     #triquibackimg{ 
      position:relative  
     }  
</style> 
</head> 
<body> 
<div id = "triquiback"> 
     <img id = "triquibackimg" src =  "http://www.lightmedia.hu/hirlevel/sonybmg/foofighters/061124/sajto_2.jpg" /> 
</div> 

<div> 

hi 
</div> 
</body> 
</html> 
+0

ありがとうございます。 jsfiddleまだ必要な場合は、ありがとう:http://jsfiddle.net/VkQ67/ – Kelly

答えて

3

が、それ以外の場合は、他の位置付け要素の後ろに滞在されます。ここに例があります:http://jsfiddle.net/VkQ67/1/

+0

それは素晴らしい感謝です。メイン画像が読み込み時に完全に表示されない理由も考えられますか?つまり、ブラウズウィンドウのサイズを変更した場合、画像のサイズが最初の位置になるはずです。 – Kelly

+1

@Kellyこれは、画像上の '.load'がトリガしないからです(正しく、すべてのブラウザなどで)。 setTimeoutを使用して幅を確認する必要があります。http://jsfiddle.net/VkQ67/2/ – deviousdodo

関連する問題