我有一個工具提示下面的代碼 - 它完全在Fx的IE8不保留寬高比時僅寬度或高度改變
http://jsfiddle.net/mplungjan/jkCKh/(所使用的圖像是用於演示目的)
的代碼的目標是沒有任何東西比150像素更寬或更高,並且在鼠標懸停時顯示原始大小。
var imgUrl = "http://c487397.r97.cf2.rackcdn.com/wp-content/uploads/2011/09/TallCat.jpg";
var idx=1;
var imageObject = $('<img/>').load(function(){
var w = this.width;
var h = this.height;
var orgSize = {width:w,height:h};
var imgId = "thumb_"+idx;
var actualImage = $('<img/>')
.attr("id",imgId)
.attr("src",imgUrl)
.addClass("thumb")
.data("orgSize",orgSize);
// set EITHER width OR height if either is > 150
if (w<h && w>150) actualImage.attr("width",150);
else if (w>h && h > 150) actualImage.attr("height",150);
$('.qTip2Image').append(actualImage);
}).attr("src",imgUrl);
var cont_left;
$("img.thumb")
.live("mouseenter",function() {
// save this scaled down image size for later
$(this).data("newSize",{width:this.width,height:this.height})
$(this).animate({
width: $(this).data("orgSize").width,
height: $(this).data("orgSize").height,
left: "-=50",
top: "-=50"
}, "fast");
})
.live("mouseleave",function() {
$(this).animate({
width: $(this).data("newSize").width,
height: $(this).data("newSize").height,
left: "+=50",
top: "+=50"
}, "fast");
});
如何在保持寬高比的同時在大多數瀏覽器中以相同的方式縮小尺寸?
如果實際需要計算的比例,請發佈一個精美的計算來幫助我。
感謝您的回答。該代碼是一個片段。我將圖像加載到內存中。在我的實際代碼中,我看到它是否失敗,因此我可以加載另一個圖像。在將調整大小的圖像添加到容器之前,我也會得到實際大小。 – mplungjan
明天我會測試 – mplungjan
爲什麼在創建圖像時需要.removeAttr(「高度」) .removeAttr(「width」) – mplungjan