Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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
Javascript jQuery标题展开/折叠(就像在youtube上)_Javascript_Jquery_Html_Css_Youtube - Fatal编程技术网

Javascript jQuery标题展开/折叠(就像在youtube上)

Javascript jQuery标题展开/折叠(就像在youtube上),javascript,jquery,html,css,youtube,Javascript,Jquery,Html,Css,Youtube,所以基本上我有一个div(或span),我想修剪到(比方说)120个单词,并在末尾添加三个点,然后当有人单击该div(或span)时,它会扩展到内容的其余部分,但当有人再次单击它时,它会做相反的事情 YouTUbe标题也是如此;如果太长,youtube会添加三个点,您可以单击展开,然后单击折叠,然后单击展开 这是我拿着小提琴来到的地方,然后就被困在那里 <span class="expanding">Lorem ipsum dolor sit amet, consectetur ad

所以基本上我有一个div(或span),我想修剪到(比方说)120个单词,并在末尾添加三个点,然后当有人单击该div(或span)时,它会扩展到内容的其余部分,但当有人再次单击它时,它会做相反的事情

YouTUbe标题也是如此;如果太长,youtube会添加三个点,您可以单击展开,然后单击折叠,然后单击展开

这是我拿着小提琴来到的地方,然后就被困在那里

<span class="expanding">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</span>
小提琴:试试这个

var ttext = $('.expanding').text();
$('.expanding').text($('.expanding').text().substr(0, 120)).append('...');
var stext = $('.expanding').text();
$('body').on('click', '.expanding', function () {

   if($(this).text() == ttext){
      $(this).text(stext);
   }else{
      $(this).text(ttext);
   }
}))

试试这个


基本上,我使用
变量
来存储上一次单击的状态,并相应地在它们之间切换

有一个卡尔·斯维德伯格的小插件:-工作起来很有魅力!:)

到目前为止,我有它展开,但不是第二次折叠,第三次单击时重新展开等。如果我得到正确的答案,你想在第一次单击时展开,然后在第二次单击时折叠它吗?然后继续相同的步骤?正是我的好朋友Ajey。我举了一个这样的例子(youtube视频的标题)。我已经设法让它工作,以扩大,但后来卡住了。很好,正是我需要的,先生,你救了我的理智。我的荣幸。。如果我的答案对你有用,请勾选我的答案。
var ttext = $('.expanding').text();
$('.expanding').text($('.expanding').text().substr(0, 120)).append('...');
var stext = $('.expanding').text();
$('body').on('click', '.expanding', function () {

   if($(this).text() == ttext){
      $(this).text(stext);
   }else{
      $(this).text(ttext);
   }