2011-04-07 37 views
6

這段代碼工作正常,直到我去了火狐4,現在它需要兩次點擊同一圖像的大小工作?有什麼想法嗎?這是代碼。jQuery在Firefox 4中

$(document).ready(function(){ 

$("#slideShow a").click(function() { 
var imgTitle = $(this).children('img').attr('title'); // Find the image title 
$("#thecap").html(' ' + imgTitle + ' '); 
$("#lgImage").attr('src', $(this).children('img').attr('rel')); 
$(".resizeme1").aeImageResize({ height: 372 }); 
}); 

}); 

這裏是萬一有人插件代碼看到有東西在裏面?

(function($) { 



    $.fn.aeImageResize = function(params) { 

    var aspectRatio = 0 
     // Nasty I know but it's done only once, so not too bad I guess 
     // Alternate suggestions welcome :) 
     , isIE6 = $.browser.msie && (6 == ~~ $.browser.version) 
     ; 

    // We cannot do much unless we have one of these 
    if (!params.height && !params.width) { 
     return this; 
    } 

    // Calculate aspect ratio now, if possible 
    if (params.height && params.width) { 
     aspectRatio = params.width/params.height; 
    } 

    // Attach handler to load 
    // Handler is executed just once per element 
    // Load event required for Webkit browsers 
    return this.one("load", function() { 

     // Remove all attributes and CSS rules 
     this.removeAttribute("height"); 
     this.removeAttribute("width"); 
     this.style.height = this.style.width = ""; 

     var imgHeight = this.height 
     , imgWidth = this.width 
     , imgAspectRatio = imgWidth/imgHeight 
     , bxHeight = params.height 
     , bxWidth = params.width 
     , bxAspectRatio = aspectRatio; 

     // Work the magic! 
     // If one parameter is missing, we just force calculate it 
     if (!bxAspectRatio) { 
     if (bxHeight) { 
      bxAspectRatio = imgAspectRatio + 1; 
     } else { 
      bxAspectRatio = imgAspectRatio - 1; 
     } 
     } 

     // Only resize the images that need resizing 
     if ((bxHeight && imgHeight > bxHeight) || (bxWidth && imgWidth > bxWidth)) { 

     if (imgAspectRatio > bxAspectRatio) { 
      bxHeight = ~~ (imgHeight/imgWidth * bxWidth); 
     } else { 
      bxWidth = ~~ (imgWidth/imgHeight * bxHeight); 
     } 

     this.height = bxHeight; 
     this.width = bxWidth; 
     } 
    }) 
    .each(function() { 

     // Trigger load event (for Gecko and MSIE) 
     if (this.complete || isIE6) { 
     $(this).trigger("load"); 
     } 
    }); 
    }; 
})(jQuery); 
+0

你可以去一臺擁有FF3的機器,看看代碼是否仍然有效? – webdad3 2011-04-07 15:18:12

+0

它在FF3中工作,也在safari,chrome中,也就是7,即8,(不知道如ie 6或9) – user520300 2011-04-07 15:21:30

+0

你使用的是什麼版本的jQuery? – webdad3 2011-04-07 15:23:21

回答

0

添加事件從這個(代碼你貼)點擊事件

內你的函數:

$(document).ready(function(){ 

$("#slideShow a").click(function() { 
var imgTitle = $(this).children('img').attr('title'); // Find the image title 
$("#thecap").html(' ' + imgTitle + ' '); 
$("#lgImage").attr('src', $(this).children('img').attr('rel')); 
$(".resizeme1").aeImageResize({ height: 372 }); 
}); 

}); 

這個

$(document).ready(function(){ 

$("#slideShow a").click(function(event) { 
var imgTitle = $(this).children('img').attr('title'); // Find the image title 
$("#thecap").html(' ' + imgTitle + ' '); 
$("#lgImage").attr('src', $(this).children('img').attr('rel')); 
$(".resizeme1").aeImageResize({ height: 372 }); 
}); 

}); 

注意到一個詞事件你的第二個函數()

是否奏效?

0

只是猜測:

$(document).ready(function(){ 
     $("#slideShow a").click(function(e) { 
      e.preventDefault(); 

      var imgTitle = $(this).children('img').attr('title'); // Find the image title 
      $("#thecap").html(' ' + imgTitle + ' '); 
      $("#lgImage").attr('src', $(this).children('img').attr('rel')); 
      $(".resizeme1").aeImageResize({ height: 372 }); 
     }); 
}); 
+0

這沒有奏效,但謝謝。 – user520300 2011-04-07 15:43:46

1

請給一個嘗試FireQuery(用於Firebug使用),也許這個工具可以幫助你找出問題。

+0

林不是那種與螢火蟲或firequery家庭,但我知道螢火蟲現在顯示錯誤,而使用此代碼。 FF4是否有可能阻止它正常工作? – user520300 2011-04-08 01:32:37

0

@ user520300:您也可以通過在不同的文件夾中安裝它比默認的和managing the two versions in separate profiles(本例中是3.0和3.5,但你可以通過類比其應用到3.6.16和4.0)測試中Firefox 3.6.16。不要忘了在你的FF 3.6.16上安裝Firebug (1.6.2)Firequery,然後通過比較控制檯,你會看到是否有一些FF4問題阻止你的代碼工作正常,或者它只是一個配置錯誤(如this case)導致FF4中的奇怪行爲。

+0

謝謝。我會盡力。不是那麼熟悉的螢火蟲或firequery,所以我不是100%肯定我會正確地跟着它,但生病看看我能否注意到兩者之間的東西。 – user520300 2011-04-08 11:29:56

0

好友嘗試下載最新的jquery包並嘗試使用該js文件。我認爲問題是FF4不能正確支持舊版本的js文件。我不確定,但你可以試試。

+1

OP聲明(在評論中)他正在使用** jquery-latest.js ** – drudge 2011-04-14 18:37:31