javascript - 在 html/JS 中展开或关闭内容 - 需要显示部分内容

标签 javascript jquery html

我想显示部分内容,然后在html/JS中展开或关闭剩余内容,

我有如下的 project.html,我得到的是附图,在我点击之前它没有显示任何东西: enter image description here enter image description here

<style type="text/css">  
#box4{padding:10px;border:1px solid green;}   
</style>  
<script type="text/javascript">  
function openShutManager(oSourceObj,oTargetObj,shutAble,oOpenTip,oShutTip){  
var sourceObj = typeof oSourceObj == "string" ? document.getElementById(oSourceObj) : oSourceObj;  
var targetObj = typeof oTargetObj == "string" ? document.getElementById(oTargetObj) : oTargetObj;  
var openTip = oOpenTip || "";  
var shutTip = oShutTip || "";  
if(targetObj.style.display!="none"){  
   if(shutAble) return;  
   targetObj.style.display="none";  
   if(openTip  &&  shutTip){  
    sourceObj.innerHTML = shutTip;   
   }  
} else {  
   targetObj.style.display="block";  
   if(openTip  &&  shutTip){  
    sourceObj.innerHTML = openTip;   
   }  
}  
}  
</script>  


   <div><button onclick="openShutManager(this,'box4',false,'点击关闭','点击展开')">点击展开</button></div>
    <div class="list-group list-group-flush list-group-formset">
      <div class="col-10" id="box4" style="display:none">{% for c in course %}<a href="{% url 'supervisors:course_change' c.pk %}">{{ c }}</a>&nbsp;&nbsp;&nbsp;{% endfor %}</div>
    </div>

最佳答案

在这种情况下,您可以使用 text-overflow: ellipsis,因此在您折叠的项目中,您应该设置一个具有以下属性的类

.collapsed-content {
  white-space: nowrap; 
  overflow: hidden;
  text-overflow: ellipsis;
}

function openShutManager(oSourceObj,oTargetObj,shutAble,oOpenTip,oShutTip){  
var sourceObj = typeof oSourceObj == "string" ? document.getElementById(oSourceObj) : oSourceObj;  
var targetObj = typeof oTargetObj == "string" ? document.getElementById(oTargetObj) : oTargetObj;  

  targetObj.classList.toggle("collapsed-content");

  if(targetObj.classList.contains("collapsed-content")){  
    sourceObj.innerHTML = oShutTip;   
  } else {  
    sourceObj.innerHTML = oOpenTip;   
  }  
}
#box4{padding:10px;border:1px solid green;}
.collapsed-content {

  white-space: nowrap; 
  overflow: hidden;
  text-overflow: ellipsis;
}
<div><button onclick="openShutManager(this,'box4',false,'点击关闭','点击展开')">点击展开</button></div>
    <div class="list-group list-group-flush list-group-formset">
      <div class="col-10 collapsed-content" id="box4">
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus quis tortor orci. Vestibulum elementum leo augue, quis accumsan justo consequat in. Pellentesque egestas sollicitudin velit, sed consequat massa lobortis vitae. Integer aliquet arcu eros, id bibendum diam sodales pulvinar. Aenean odio tellus, venenatis a rutrum a, interdum eu turpis. Ut condimentum volutpat aliquam. Praesent auctor ex nec sagittis commodo.
      </div>
    </div>

关于javascript - 在 html/JS 中展开或关闭内容 - 需要显示部分内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50853706/

相关文章:

javascript - 在 D3 中格式化刻度

javascript - 修改之前在JS中定义的样式

javascript - 如何停止播放器的点击?

javascript - 从 JQuery 模态对话框获取值提交到另一个输入类型

jQuery Accordion : prevent pane from opening/cancel changestart event

html - 创建按钮,该按钮具有宽度不变的切换文本值

javascript - 如何从网站中找到特定的代码行,然后使用 javascript 将其显示在 html 文件上?

javascript - jQuery 可排序自己的元素作为占位符

javascript - 将鼠标悬停在其他元素下方

javascript - EditableGrid - 通过 jQuery 获取 <td> 的新值