jQuery函数调用不起作用 - 新手Q.

时间:2013-02-26 10:06:29

标签: jquery html

我们的想法是创建一个由高度或宽度是否更大的方形缩略图。它根本就没有做任何事情。有人可以指出我正确的方向吗?

由于

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 个答案:

答案 0 :(得分:1)

galDisplay是一个全局的,而不是jQuery对象的方法。请参阅the jQuery documentation of plugin authoring

看起来像是在改变

function  galDisplay(){

jQuery.fn.galDisplay = function (){

应该做的工作。

您还需要修复语法错误。

var galSingleImgH(this).height();

应该是

var galSingleImgH = this.height();

......等等。

答案 1 :(得分: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'));

答案 2 :(得分:1)

您的变量定义错误,请改用:

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

答案 3 :(得分: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吗?