.css效果在ajax響應(yīng)后未應(yīng)用

我試圖在ajax成功響應(yīng)之后應(yīng)用jquery.css效果。我想這不起作用,因?yàn)槲覐淖罱傻脑刂蝎@取高度,然后將其應(yīng)用到另一個(gè)最近生成的元素。我嘗試將.opts div移到底部,基于.col-4div的高度,這是動(dòng)態(tài)的。

這是鋼筆:https://codepen.io/Pancuatico/pen/abpOeZy

當(dāng)您打開(kāi)pen時(shí),您可以在控制臺(tái)中應(yīng)用以下代碼:$(".opts").css("margin-top",$(".col-4").height());,您將看到它工作得非常完美,但是,在ajax成功響應(yīng)之后,如何正確地使它工作呢?

Edit

我將把我的js代碼放在這里,這樣你就可以看到我的錯(cuò)誤在哪里了。

$(document).ready(function(){
    loadImgs();
});

function loadImgs(){
    $.post("anurl.php",function(data){

        //Some process with the data here
        //...

        var out = "<div class='col-4'><img src='imgpathalt' alt='imgpath'></div>";
        out += "<div class='col-2'>";
            out += "<img src='imgpath2' alt='imgpath2alt'>";
            out += "<div class='opts'>";
                out += "<button>add</button>";
                out += "<button>rm</button>";
            out += "</div>";
        out += "</div>";

        $(".row").html(out);
        var col4Height = $(".col-4").height();
        $(".opts").css("margin-top",col4Height); //this does not work
    });
}
? 最佳回答:

原因是,當(dāng)您添加該元素的margin-top時(shí),圖像仍在加載。所以.col-4的高度只是當(dāng)時(shí)按鈕的大小。您必須等待圖像加載完畢,然后將邊距更新為.col-4的高度。

一個(gè)更好的方法是動(dòng)態(tài)地創(chuàng)建元素,而不是將其作為html放入字符串中。這樣就可以用-

myImage.load(imgLoaded);

更新圖像后的邊距是loaded-

function imgLoaded() {
$(".opts").css("margin-top", $(".col-4").height();); 
}

但是,您可以在具有htmlonload屬性的代碼中獲得結(jié)果。

$(document).ready(function(){
    loadImgs();
});

function loadImgs(){
    $.post("https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js",function(data){

        //...
        //Some process with the data here
        //Im just using that url for testing purposes
        //...

        var out = "<div class='col-4'><img src='https://cutt.ly/IxR1RrQ' alt='https://bit .ly/3tI1rWa' onload='imgLoaded()'></div>";
        out += "<div class='col-2'>";
            out += "<img src='https://cutt.ly/IxR1RrQ' alt='https://bit .ly/3tI1rWa'>";
            out += "<div class='opts'>";
                out += "<button>add</button>";
                out += "<button>rm</button>";
            out += "</div>";
        out += "</div>";

        $(".row").html(out);

    });
}

function imgLoaded() {
    $(".opts").css("margin-top", $(".col-4").height();); 
}
主站蜘蛛池模板: 欧洲无码一区二区三区在线观看| 亚洲AV成人精品日韩一区| 无码精品尤物一区二区三区| 国产日韩精品一区二区在线观看播放| 久久免费国产精品一区二区| 日本免费一区二区三区最新vr| 精品人妻AV一区二区三区| 国产麻豆精品一区二区三区v视界| 精品一区二区三区无码视频| 怡红院AV一区二区三区| 麻豆一区二区免费播放网站| 麻豆一区二区在我观看| 国产av一区二区三区日韩| 国模丽丽啪啪一区二区| 日本一区二区三区精品国产 | 欧洲无码一区二区三区在线观看| 亚洲国产综合无码一区二区二三区| 精品国产区一区二区三区在线观看 | 日本视频一区在线观看免费| 一区二区三区亚洲| 亚洲AV综合色区无码一区爱AV | 亚洲av成人一区二区三区| 射精专区一区二区朝鲜| 无码人妻一区二区三区免费n鬼沢| 国产亚洲一区二区三区在线观看| 中文无码精品一区二区三区 | 精品国产一区二区三区久久狼 | 日本美女一区二区三区| 一级特黄性色生活片一区二区| 精品天海翼一区二区| 国产福利电影一区二区三区| 三上悠亚亚洲一区高清| 亚洲AV福利天堂一区二区三| 麻豆AV一区二区三区| 伊人久久精品无码麻豆一区| 国产精品成人一区无码 | 午夜影院一区二区| 国产精品一区不卡| 久久无码一区二区三区少妇 | 日产亚洲一区二区三区| 竹菊影视欧美日韩一区二区三区四区五区|