1

Galleria と SmoothDivScroll プラグインを一緒に実装しましたが、IE7 と IE8 では、画像の向きが縦向きの場合 (つまり、画像が #main_image、画像コンテナーに読み込まれる場合) に、画像がわずかに歪んでしまいます [スケーリングで比率が保持されません]。

Safari と Firefox では、すべて問題ありません。他の誰かがこの問題に遭遇しましたか? これをどのように修正しましたか?

4

6 に答える 6

2

ページ全体を分解して元に戻し、オプションに 1 つのコンマが含まれていることを確認しました。

// Initialize Galleria
$('#galleria').galleria({
width:764,
transition: 'fade',
autoplay: 8000,
idleTime: 1000000, <-----THIS COMMA HERE (remove this)
});

これを削除するとすぐに、すべてがIE7で機能しました。これが今誰かの助けになるかどうかはわかりませんが、おそらく多くの人にとって非常に明白なことでもあります.

于 2012-02-21T13:44:53.913 に答える
1

多くの問題を解決するために私が見つけた鍵は、Galleria.loadTheme() を (document).ready() の外に移動することです。

最初にそれを試して、うまくいかない場合は他のことをいじってください。

于 2010-10-25T18:36:25.743 に答える
0

正しくスケーリングされた width プロパティを強制する、より完全なソリューションを見つけました。

まず、大きな画像に ID を追加する必要があります。これを行うには、jquery.galleria.js ファイルの onPageLoad 関数の次のコード行を変更します。

var _img   = $(new Image()).attr('src',_src).addClass('replaced');

次のようになるように追加します。

var _img   = $(new Image()).attr('src',_src).attr('id','mainImg').addClass('replaced');

これで、画像に ID が追加され、ターゲットにできるようになりました。

次に、インデックス ファイル (またはギャラリーを開始するコードを配置した場所) で、次のようにコードを変更します。

// fade in the image & caption
if(! ($.browser.mozilla && navigator.appVersion.indexOf("Win")!=-1) ) { // FF/Win fades large images terribly slow
     image.css('display','none').fadeIn(1000);
}
var newHeight = 420;
var mainImage = document.getElementById('mainImg');
var imgInitHeight = mainImage.height;
var imgInitWidth = mainImage.width;
var imgScaleRatio = newHeight/imgInitHeight;
var newWidth = Math.ceil(imgInitWidth*imgScaleRatio);
image.css('height', newHeight);
image.css('width', newWidth);
caption.css('display','none').fadeIn(1000);

変数 newHeight は、大きな画像を表示したい高さです。次に、サイズを変更する前に高さと幅を取得するために画像をターゲットにする必要があります。これらの値はそれぞれ imgInitHeight と imgInitWidth に格納されます。これで、newHeight と imgInitHeight の値がわかったので、画像が新しい寸法になるようにスケーリングする必要がある比率を計算できます。これは imgScaleRatio プロパティに格納されます。

比率が決定されたら、画像の newWidth を計算し、これが正しくスケーリングされていることを確認できます。これが完了したら、css 値を画像に適用するだけで完了です。これが誰かに役立つことを願っています。

ジョン・ティヴィ・ジョーンズ

于 2010-06-08T11:16:32.637 に答える
0

私も同様の問題を抱えていました.smoothdivscrollはieではうまく機能しないと思います.なぜなら、私の問題ではsmoothdivscrollとjflowを使用したからです.firefox、chrome、safari、operaなどでは完全に動作しましたが、ie 7と8では、すべてが少し狂っていました。問題を解決しようとして何時間も何日もかけて、スクロールdivを削除した後、物事を1つずつ削除して配置しようとしましたが、すべてが魅力のように機能しました:)

私がその問題を抱えていたサイト: www.jardinsbelohorizo​​nte.com

ホセ・モレイラ

于 2010-02-08T10:58:21.183 に答える
0

jQuery Gallery を IE8 + Windows Vista で動作させるために、この修正を行いました。

  1. 外部からガレリア コー​​ドを取得します。

 

jQuery(document).ready(function(){    
  //your code here    
});
  1. 次の方法でギャラリーをロードします。

変数間隔;

Galleria.loadTheme(’/js/galleria.classic.js’);
interval = setInterval(’loadMyGalleria()’,1000);
function loadMyGalleria() {
  if ($(’#galleria > div’).size() == 0) {
    $(’#galleria’).galleria({
      image_crop: true,
      transition: ‘fade’,
      transition_speed: 1000,
      data_config: function(img) {
      return {
        description: $(img).next(’p').html() };
      }
    });
    clearInterval(interval);
  }
于 2010-08-07T05:55:30.280 に答える