Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 阅读更多动画/过渡_Jquery_Html_Css_Css Transitions - Fatal编程技术网

Jquery 阅读更多动画/过渡

Jquery 阅读更多动画/过渡,jquery,html,css,css-transitions,Jquery,Html,Css,Css Transitions,好吧,我知道有一个非常简单的解决办法,但我现在没有主意了。当div的高度从118像素增加时,我使用脚本添加了一个readmore按钮。我使用了这个例子,现在我需要添加一个简单的向下滑动和向上滑动动画。有人能告诉我怎么做吗 JS if(curHeight==118) { $('#readmore').show(); } else { $('#readmore').hide(); } // Find Div Height function changeheight() {

好吧,我知道有一个非常简单的解决办法,但我现在没有主意了。当div的高度从118像素增加时,我使用脚本添加了一个readmore按钮。我使用了这个例子,现在我需要添加一个简单的向下滑动向上滑动动画。有人能告诉我怎么做吗

JS

if(curHeight==118) {
  $('#readmore').show();
} else {
  $('#readmore').hide();
}

// Find Div Height    
function changeheight() {

  var lang = jQuery('html')[0].lang;

  if ( lang == 'nl-NL' ) {
    var more_text = 'Lees meer';
    var less_text = 'Lees minder';
  } else if (lang == 'en-US' ) {
    var more_text = 'Read more';
    var less_text = 'Read less';
  }

  var readmore = jQuery('#readmore');
  if (readmore.text() == more_text) {
      jQuery('.readmore_link').addClass("show_less");
      jQuery('.readmore_link').removeClass("show_more");
      readmore.text(less_text);
  } else {
      jQuery('.readmore_link').addClass("show_more");
      jQuery('.readmore_link').removeClass("show_less");
      readmore.text(more_text);
  }    
  // fade out read-more
  jQuery('.rm_height').toggleClass("heightAuto");      

})

你可以做类似的事情:

$(function(){
     var curHeight = $('.text').height();     
     if(curHeight==38) {
        $('#readmore').show();
    } 
    else {
        $('#readmore').hide();
    }
});     

function changeheight() {
    var readmore = $('#readmore');
    if (readmore.text() == 'Read more') {
        readmore.text("Read less");
        $("#textbody").animate({maxHeight : '80px', height : '80px'},"slow");
    } else {
        readmore.text("Read more");
        $("#textbody").animate({maxHeight : '38px', height: '38px'},"slow");
    }           
};
现在,请注意,我做了一些更改:

  • 我在80到38像素之间设置动画。您可能希望根据特定的文本块微调这些值
  • 我使用了animate,它包括一个额外的速度参数。如果您想要更好地控制效果,还可以将其更改为秒int值

  • 请参见此处的JSFIDLE:

    您可以执行类似的操作:

    $(function(){
         var curHeight = $('.text').height();     
         if(curHeight==38) {
            $('#readmore').show();
        } 
        else {
            $('#readmore').hide();
        }
    });     
    
    function changeheight() {
        var readmore = $('#readmore');
        if (readmore.text() == 'Read more') {
            readmore.text("Read less");
            $("#textbody").animate({maxHeight : '80px', height : '80px'},"slow");
        } else {
            readmore.text("Read more");
            $("#textbody").animate({maxHeight : '38px', height: '38px'},"slow");
        }           
    };
    
    现在,请注意,我做了一些更改:

  • 我在80到38像素之间设置动画。您可能希望根据特定的文本块微调这些值
  • 我使用了animate,它包括一个额外的速度参数。如果您想要更好地控制效果,还可以将其更改为秒int值

  • 请参见此处的JSFIDLE:

    如果您是在jquery ui库中进行寻源,则可以添加希望将toggleClass函数的时间(以毫秒为单位)作为第二个参数

    .toggleClass("heightAuto", 1000);   
    

    此外,请查看可以用作第三个参数(用于控制动画)的度量值:

    .toggleClass("heightAuto", 1000, "easeOutSine" );   
    

    如果您在jquery ui库中寻源,可以添加您希望将toggleClass函数的时间(以毫秒为单位)作为第二个参数

    .toggleClass("heightAuto", 1000);   
    

    此外,请查看可以用作第三个参数(用于控制动画)的度量值:

    .toggleClass("heightAuto", 1000, "easeOutSine" );   
    

    谢谢你的回答,伙计。我已经应用了你的解决方案,但不知何故,它第一次起作用,但如果我第二次尝试,它就不起作用了。谢谢你的回答,伙计。我已经应用了你的解决方案,但不知何故,它第一次起作用,但如果我第二次尝试,它就不起作用了。太好了!很乐意帮忙,太好了!很乐意帮忙。