2013-02-26 24 views
0

這個想法是創建一個由高度或寬度是否更大來定義的方形縮略圖。它根本沒有做任何事情。有人可以請指點我正確的方向嗎?jQuery函數調用不起作用 - 新手Q

感謝

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(); 
+0

它被叫? – Veger 2013-02-26 10:07:12

+0

是的 - 有3個圖像,它應該影響,它在(文檔).ready() – ggdx 2013-02-26 10:09:20

回答

1

你的變量定義是錯誤的,用這個來代替:

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

內部發現 - 修復它。謝謝Veger! – ggdx 2013-02-26 10:12:40

1

galDisplay是jQuery的對象的全局,而不是一個方法。請參閱the jQuery documentation of plugin authoring

看起來改變

function galDisplay(){ 

jQuery.fn.galDisplay = function(){ 

應該做的工作。

您還需要修復語法錯誤。

var galSingleImgH(this).height(); 

應該

var galSingleImgH = this.height(); 

...等等。

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在你的問題?

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'));