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

galDisplay是全局的,不是 jQuery 对象的方法。请参阅插件创作的 jQuery 文档

好像变了

function  galDisplay(){

jQuery.fn.galDisplay = function (){

应该做的工作。

您还需要修复语法错误。

var galSingleImgH(this).height();

应该

var galSingleImgH = this.height();

… 等等。

于 2013-02-26T10:10:09.533 回答
1

我想你忘记=了上面 4 行的一些 s :(哦,还有错误的调用方式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 回答
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 回答