簡體   English   中英

如何使此滑塊腳本能夠顯示確切的圖像寬度和高度

[英]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.
});

我使用以上腳本顯示了頂部滑塊,但是

問題在於圖像顯示為拉伸狀態,或者稱其為不完美的尺寸,沒有原始大小顯示在頂部大幻燈片中,而是顯示了拉伸類型。

屏幕截圖1

屏幕截圖2

網站網址

現在要如何獲得最佳的寬度和高度尺寸作為原始圖像的尺寸,我希望第一個腳本有問題,請幫助任何人來解決此問題。 謝謝。

要么

給我另一個腳本,僅添加模板以用於頂部滑塊圖像,以顯示精確尺寸的寬度和高度,如您在屏幕快照中看到的以下顯示完美尺寸的圖像。

這是一個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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM