0

アイデアは、高さと幅のどちらが大きいかによって定義される正方形のサムネイルを作成することです。それは単に何もしていません。誰かが私を正しい方向に向けることができますか?

ありがとう

ダン

function  galDisplay(){
   var galSingleImgH(this).height();
   var galSingleImgW(this).width();
   var galSingleImgWSum(this).width()/2;
   var galSingleImgHSum(this).height()/2;

   if(galSingleImgW > galSingleImgH){
       jQuery(this).attr('style','height:63px;width:auto;margin-left:50%;left:-'+ galSingleImgWSum +'px;');
   } else {
       jQuery(this).attr('style','height:auto;width:63px;margin-top:50%;top:-'+ galSingleImgHSum +'px;');
   }
}

jQuery('.rhsGallery .notFirst a img').galDisplay();
4

4 に答える 4

1

=上の4行のいくつかを忘れたと思います:(ああ、間違った呼び出し方法galDisplay()

function  galDisplay(){
       var galSingleImgH = (this).height();
       var galSingleImgW = (this).width();
       var galSingleImgWSum = (this).width()/2;
       var galSingleImgHSum = (this).height()/2;

       if(galSingleImgW > galSingleImgH){
           jQuery(this).attr('style','height:63px;width:auto;margin-left:50%;left:-'+ galSingleImgWSum +'px;');
       } else {
           jQuery(this).attr('style','height:auto;width:63px;margin-top:50%;top:-'+ galSingleImgHSum +'px;');
       }
   }

   galDisplay(jQuery('.rhsGallery .notFirst a img'));
于 2013-02-26T10:10:50.547 に答える
1

変数の定義が間違っています。代わりにこれを使用してください。

var galSingleImgH = jQuery(this).height();
var galSingleImgW = jQuery(this).width();
var galSingleImgWSum = jQuery(this).width()/2;
var galSingleImgHSum = jQuery(this).height()/2;
于 2013-02-26T10:11:10.907 に答える
1

galDisplayグローバルであり、jQuery オブジェクトのメソッドではありません。プラグイン オーサリングの jQuery ドキュメントを参照してください。

変わってるみたい

function  galDisplay(){

jQuery.fn.galDisplay = function (){

仕事をするべきです。

また、構文エラーを修正する必要があります。

var galSingleImgH(this).height();

する必要があります

var galSingleImgH = this.height();

… 等々。

于 2013-02-26T10:10:09.533 に答える
0

まず、コードが間違っています:

var galSingleImgH(this).height();
           var galSingleImgW(this).width();
           var galSingleImgWSum(this).width()/2;
           var galSingleImgHSum(this).height()/2;

これはうまくいきません。デベロッパー ツールを使用して、ブラウザでこのエラーを確認することをお勧めします。

そのはず:

var galSingleImgH = (this).height();
           var galSingleImgW = (this).width();
           var galSingleImgWSu = (this).width()/2;
           var galSingleImgHSum = (this).height()/2;

次に、これで問題が解決しない場合は、質問に rhsGallery HTML を含めていただけますか?

于 2013-02-26T10:10:10.893 に答える