javascript - ajax 内容调用完成后自动调整 div 大小
问题描述
我有一个 api 调用可以很好地抓取数据。它的设置是使用一个按钮来打开一个可折叠的 div。如果您已经打开它,一旦获取数据,您将看到第一行或第二行出现,您必须关闭/重新打开 div 才能查看所有数据。被卡住了一段时间,已经尝试了很多东西。继承人的JS
$(document).ready(function() {
function myFunction(val) {}
var coll = document.getElementsByClassName("collapsible");
var i;
for (i = 0; i < coll.length; i++) {
coll[i].addEventListener("click", function() {
this.classList.toggle("active");
var hidden_content = this.nextElementSibling;
if (hidden_content.style.maxHeight) {
hidden_content.style.maxHeight = null;
} else {
hidden_content.style.maxHeight = hidden_content.scrollHeight + "px";
}
});
}
document.getElementById('collapsible').click();
$.ajax({
type:"GET",
url:"pages/splunk_bf_data",
dataType:"json",
success:function(data){
var html = '<p>' + data + '</p>'
$('.data-container').html(html);
}
})})
解决方案
通过完成后功能单击它两次来对它进行操作。如果有更好/更合法的方法,请发布。我更喜欢最佳实践。
但这是我所做的
$(文档).ready(函数() {
function myFunction(val) {}
var coll = document.getElementsByClassName("collapsible");
var i;
for (i = 0; i < coll.length; i++) {
coll[i].addEventListener("click", function() {
this.classList.toggle("active");
var hidden_content = this.nextElementSibling;
if (hidden_content.style.maxHeight) {
hidden_content.style.maxHeight = null;
} else {
hidden_content.style.maxHeight = hidden_content.scrollHeight + "px";
}
});
}
function changeSizeByClicking() {
document.getElementById('collapsible2').click();
document.getElementById('collapsible2').click();
}
document.getElementById('collapsible').click();
$.ajax({
type:"GET",
url:"pages/splunk_bf_data",
dataType:"json",
beforeSend:function(){
var html = '<p>' + 'Fetching data from Splunk..' + '<br>' + 'please wait...'+ '</p>'
$('.data-container').html(html);
},
success:function(data){
var html = '<p>' + data + '</p>'
$('.data-container').html(html);
},
complete:function(data){
changeSizeByClicking();
}
})})
推荐阅读
- css - Goolge Chrome Broswer 版本 69.0.3497.100 上的 CSS 线性渐变问题
- php - wordpress 中的引导列自定义
- c# - 使用可变对象类型查询实体 DbSet
- maven - 使用 mvn test 测试正常,但在 mvn 包中失败
- java - 通过 Multipart Requests 发送文件的一部分:Retrofit
- serial-port - 发送到串口 x0A
- azure - 将数据从 azure blob 存储传输到谷歌云存储的最快方法是什么?
- json - 用于验证键嵌套 json 结构的脚本断言
- c# - c# web api 发现多个动作匹配请求问题
- javascript - 无法在 Ajax 中获得正确的值