我试图让一小部分 jquery 在页面加载时设置选择元素的大小,然后根据新的自动大小设置它的容器的大小。这有时有效,但似乎因页面加载速度较慢而失败。如果我调试代码并在每一行暂停,它会 100% 地工作,所以我假设在下一行触发之前每个操作都没有完成。我尝试为每一行添加 setTimeout,这有一点帮助,但并非总是如此。有任何解决这个问题的方法吗?
$(document).ready(function() {
//set select element to auto width
setTimeout(function(){$("#PunchDD").width("auto");},5);
//Add some width to the element to account for custom drop down arrow
setTimeout(function(){$("#PunchDD").width($("#PunchDD").width() + 17);},5);
//Set container width a bit smaller to hide the stock drop down arrow
setTimeout(function(){$("#PunchDDContainer").width($("#PunchDD").width() - 18);},5);
});
此外,我不想在 css 中将大小设置为自动,因为当 javascript 不工作时,我在那里使用固定大小进行故障回复。