javascript - Le texte jq à hauteur fixe se développe et se réduit
伊谢尔伦
伊谢尔伦 2017-06-29 10:09:11
0
3
1204

<p class="text">
                <p class="desc">目木家居旗舰店,专注家居二十年。我们彰显个性,具有浓郁现代感现代风格家居设计的特色是,其设计的元素、材料都很单一,这种设计风格已经成为越来越多时尚潮人装修的首选,现代风格家居设计从整体到局部、从空间到室内陈设塑造,精雕细琢,给人一丝不苟的印象</p>
                <a href="javascript:void(0);" class="more">更多</a>
            </p>

Comment obtenir cet effet ? La flèche d'expansion change lorsque vous la réduisez
J'ai essayé d'écrire l'effet Cela ne semble pas idéal, car la hauteur de l'écriture ici est fixe, mais la quantité de texte est incertaine
démo

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

répondre à tous(3)
ringa_lee

Enroulez directement un calque sur le calque externe de p, masquez le débordement externe et obtenez le paramètre de hauteur de p ;
Faites attention à la marge par défaut de p Dans l'exemple suivant, utilisez le remplissage de l'élément parent pour le décaler. ;

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link href="http://at.alicdn.com/t/font_y2pevr1o81moyldi.css" rel="stylesheet" type="text/css">
    <style>
        .text{
            line-height: 1.8;
            margin:0 auto;
            width: 500px;
        }
        .text .desc{
            height:50px;
            padding: 20px 0;
            overflow: hidden;
        }

        .iconfont{
            width: 100%;
            font-size: 20px;
            text-align: center;
            cursor: pointer;
        }

    </style>
</head>
<body>
<p class="text">
    <p class="desc">
    <p class="desc-content">目木家居旗舰店,专注家居二十年。我们彰显个性,具有浓郁现代感现代风格家居设计的特色是,其设计的元素、材料都很单一,这种设计风格已经成为越来越多时尚潮人装修的首选,现代风格家居设计从整体到局部、从空间到室内陈设塑造,精雕细琢,给人一丝不苟的印象目木家居旗舰店,专注家居二十年。我们彰显个性,具有浓郁现代感现代风格家居设计的特色是,其设计的元素、材料都很单一,这种设计风格已经成为越来越多时尚潮人装修的首选,现代风格家居设计从整体到局部、从空间到室内陈设塑造,精雕细琢,给人一丝不苟的印象目木家居旗舰店,专注家居二十年。我们彰显个性,具有浓郁现代感现代风格家居设计的特色是,其设计的元素、材料都很单一,这种设计风格已经成为越来越多时尚潮人装修的首选,现代风格家居设计从整体到局部、从空间到室内陈设塑造,精雕细琢,给人一丝不苟的印象目木家居旗舰店,专注家居二十年。我们彰显个性,具有浓郁现代感现代风格家居设计的特色是,其设计的元素、材料都很单一,这种设计风格已经成为越来越多时尚潮人装修的首选,现代风格家居设计从整体到局部、从空间到室内陈设塑造,精雕细琢,给人一丝不苟的印象</p>
    </p>
    <p href="javascript:void(0);" class="iconfont icon-unfold"></p>
</p>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
    $(document).ready(function() {
        $(".text").off('click').on('click','.icon-unfold', function () {
            $(".desc").animate({height: $('.desc-content').height()}, "slow");
            $(this).removeClass('icon-unfold icon-fold').addClass('icon-fold');
        }).on('click','.icon-fold', function () {
            $(".desc").animate({height: '50px'}, "normal");
            $(this).removeClass('icon-fold icon-unfold').addClass('icon-unfold');
        });
    })
</script>
</body>
</html>

巴扎黑

C'est en fait assez simple :
Si vous souhaitez agrandir ou réduire en fonction du nombre de texte, alors vous pouvez faire correspondre les length来设定判断条件,当长度小于的时候format一份html,这个html上面没有图标,当长度大于规定长度时,收缩时,对所有文字字符串进行截取然后拼接一个展开的图标,这个font-awesomeil y en a plusieurs et l'afficher sur la page, puis l'agrandir en utilisant la même routine, sauf que vous n'avez pas besoin d'intercepter la chaîne. , divisez simplement toutes les chaînes en une icône réduite, puis liez les événements aux deux icônes respectivement. J'ai donné ci-dessous un exemple spécifique de mon implémentation précédente. Le code n'est pas complet. Cela devrait suffire à vous fournir des idées et une mise en œuvre

.
function format_html_collapse(info) {
    var expand_html = '<a href="#" class="click_expand">...点击展开 ></a>';                                                                                             
    if (info.content.length > info.max_length) {
        info.content = info.content.substring(0, info.max_length) + expand_html; 
    }

    return info.content;
}

function format_html_expand(info) {
    var collapse_html = '<a href="#" class="click_collapse">...点击收起 ></a>';
    if (info.content.length > info.max_length) {
        info.content = info.content + collapse_html; 
    }

    return info.content;
}
function to_collapse(wtable) {
    $('.click_collapse').on('click', function(e) {
       xxx.html(format_html_collapse(fc_value));
    });
    to_expand(wtable);
    });
} 
    
function to_expand(wtable) {
    $('.click_expand').on('click', function(e) {
        // 此处省略部分代码
        fe_value.td.html(format_html_expand(fe_value));
    });

    to_collapse(wtable);
});                                 
女神的闺蜜爱上我

Pour l'animation, essayez ceci :
démo

J’ai eu un peu d’inspiration après avoir lu la réponse de @auntie (ici) il y a quelques jours.
Le point clé est le suivant : pour agrandir sans hauteur fixe, définissez d'abord la hauteur sur auto, puis utilisez getComputedStyle pour obtenir la hauteur, puis définissez la hauteur sur 0 et utilisez la hauteur obtenue pour animer.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!