我想将这部分 jquery 代码延迟 2 秒
//set equal height of two div's
//$(".pg-right-bar").css({ "height": $("#pg-left-bar").height() })
var leftbar = $(".pg-left-bar").height();
var rightbar = $(".pg-right-bar").height()-4; // remove 4 pxels from righ div
leftbar = leftbar - 20;
if (leftbar > rightbar)
{
$(".pg-right-bar").css({ "height": $("#pg-left-bar").height() - 10 })
}
else
{
$(".pg-left-bar").css({ "height": $("#pg-right-bar").height() })
$(".pg-right-bar").css({ "height": rightbar+"px" })
}
实际上我的页面有两个 div pg-left-bar div
,pg-right-bar div
我的左栏 div 有页面内容,右栏 div 有图像。我必须根据哪个高度更大,为两个 div 分配相同的高度。
所以我为此使用上述逻辑,但此代码的问题是它在下载右栏图像之前执行,这导致大多数情况下第一个条件为真。有没有办法可以延迟此代码的执行,直到pg-right-bar
下载图像。
或者我怎样才能将此代码包装在一个延迟 3 秒的函数中。
经过故障排除后,我得出的结论是代码逻辑很好,这是需要时间下载的图像,并且在 jquery 之间执行并为两个 div 分配了错误的尺寸
完全的...
jQuery(document).ready(function () {
App.init();
App.initNavMenu();
//Tabs
App.InitCustomTabs();
App.initMarqueeBrands();
//activatte tooltip
$('.tooltip').tooltipster();
});
更新
我通过将代码包装在以下函数中解决了这个问题。
$(window).load(function() {
var leftbar = $(".pg-left-bar").height();
var rightbar = $(".pg-right-bar").height()-4; // remove 4 pxels from righ div
leftbar = leftbar - 20;
if (leftbar > rightbar)
{
$(".pg-right-bar").css({ "height": $("#pg-left-bar").height() - 10 })
}
else
{
$(".pg-left-bar").css({ "height": $("#pg-right-bar").height() })
$(".pg-right-bar").css({ "height": rightbar+"px" })
}
});