[英]How to make this slider script capable to show the exact image width and height
我有兩個腳本可以顯示模板上的頂部滑塊:
//Top slider script
function FeaturedPostSide(a) {
(function (e) {
var h = {
blogURL: "",
MaxPost: 4,
idcontaint: "",
ImageSize: 100,
interval: 5000,
autoplay: false,
loadingClass: "loadingxx",
pBlank: "http://1.bp.blogspot.com/-htG7vy9vIAA/Tp0KrMUdoWI/AAAAAAAABAU/e7XkFtErqsU/s1600/grey.gif",
MonthNames: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
tagName: false
};
h = e.extend({}, h, a);
var g = e(h.idcontaint);
var d = h.MaxPost * 200;
g.html('<div class="sliderx"><ul class="abt-sidebar-slider"></ul></div><div class="buttons"><a href="#" class="prevx">prev</a><a href="#" class="nextx">next</a></div>');
var f = function (w) {
var q,
k,
m,
u,
x,
p,
t,
v,
r,
l = "",
s = w.feed.entry;
for (var o = 0; o < s.length; o++) {
for (var n = 0; n < s[o].link.length; n++) {
if (s[o].link[n].rel == "alternate") {
q = s[o].link[n].href;
break
}
}
if ("media$thumbnail" in s[o]) {
u = s[o].media$thumbnail.url.replace(/\/s[0-9]+\-c/g, "/s" + h.ImageSize + "-c")
} else {
u = h.pBlank.replace(/\/s[0-9]+(\-c|\/)/, "/s" + h.ImageSize + "$1")
}
k = s[o].title.$t;
r = s[o].published.$t.substring(0, 10);
m = s[o].author[0].name.$t;
x = r.substring(0, 4);
p = r.substring(5, 7);
t = r.substring(8, 10);
v = h.MonthNames[parseInt(p, 10) - 1];
l += '<li><a target="_blank" href="' + q + '"><div class="overlayx"></div><img class="random" src="' + u + '"/><h4>' + k + '</h4></a><div class="label_text"><span class="date"><span class="dd">' + t + '</span> <span class="dm">' + v + '</span> <span class="dy">' + x + '</span></span> <span class="autname">' + m + "</span></div></li>"
}
e("ul", g).append(l).addClass(h.loadingClass)
};
var c = function () {
e(h.idcontaint + " .nextx").click()
};
var b = function () {
e.get((h.blogURL === "" ? window.location.protocol + "//" + window.location.host : h.blogURL) + "/feeds/posts/summary" + (h.tagName === false ? "" : "/-/" + h.tagName) + "?max-results=" + h.MaxPost + "&orderby=published&alt=json-in-script", f, "jsonp");
setTimeout(function () {
e(h.idcontaint + " .prevx").click(function () {
e(h.idcontaint + " .sliderx li:first").before(e(h.idcontaint + " .sliderx li:last"));
return false
});
e(h.idcontaint + " .nextx").click(function () {
e(h.idcontaint + " .sliderx li:last").after(e(h.idcontaint + " .sliderx li:first"));
return false
});
if (h.autoplay) {
var i = h.interval;
var j = setInterval(c, i);
e(h.idcontaint + " .sliderx li:first").before(e(h.idcontaint + " .sliderx li:last"));
e(h.idcontaint + " .sliderx").hover(function () {
clearInterval(j)
}, function () {
j = setInterval(c, i)
})
}
e("ul", g).removeClass(h.loadingClass)
}, d)
};
e(document).ready(b)
})(jQuery)
};
FeaturedPostSide({
MaxPost: 3,
idcontaint: "#featuredpostside",
ImageSize: 600,
interval: 5000, // speed up slider
autoplay: false, // stop auto slider
tagName: "Feature" // Feature is label name to display posts from it.
});
我使用以上腳本顯示了頂部滑塊,但是
問題在於圖像顯示為拉伸狀態,或者稱其為不完美的尺寸,沒有原始大小顯示在頂部大幻燈片中,而是顯示了拉伸類型。
現在要如何獲得最佳的寬度和高度尺寸作為原始圖像的尺寸,我希望第一個腳本有問題,請幫助任何人來解決此問題。 謝謝。
要么
給我另一個腳本,僅添加模板以用於頂部滑塊圖像,以顯示精確尺寸的寬度和高度,如您在屏幕快照中看到的以下顯示完美尺寸的圖像。
這是一個CSS問題,輕松將height
設置為auto
ul.abt-sidebar-slider img { width: 100%; height: auto; }
如果您想要相同的寬度和高度,也可以將width
設置為auto
圖像很難正確設置樣式。 您可以嘗試使用以下方式:
<div class="image-container"></div>
.image-container {
height: desired height;
width: desired width;
background-repeat: no-repeat;
background-position: 50% 50%;
background-size: contain;
background: url('photo path');
}
我使用這樣的腳本來獲取圖像的自然尺寸
var width;
var height
var img = new Image();
img.onload = function ()
{
width = img.naturalWidth;
height = img.naturalHeight;
}
img.src = "yourImagePath";
您現在可以輕松地保持該比例...
ratio = width/height
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.