어떻게 css가 불러온 후에 후속 코드를 실행합니까

1731 단어 css
최근에 프로젝트를 쓰는 프레임워크에 JQuery Message Box의 클래스를 써서 jquery ui의 dialog () 를 사용하여 메시지 상자를 표시합니다. 방법이 쉽게 호출될 수 있도록 페이지에 ui가 들어갔는지 자동으로 판단합니다.js와 ui.css 코드는 다음과 같습니다.
//      ui.js,   
    if ($('script[src$=""jquery-ui-1.8.11.custom.min.js""]').length == 0) {{
        $(""<script src='/js/jquery-ui-1.8.11.custom.min.js' type='text/javascript' />"").appendTo('head');
    }}
//      css,   
if ($('link[ref$=""jquery-ui-1.8.14.custom.css""]').length == 0) {{
        $('<link href=""/css/jquery-ui-1.8.14.custom.css"" rel=""stylesheet"" type=""text/css"" />').appendTo('head');

//dialog() script
    }}

그러나 CSS 코드는 바로 불러오지 않기 때문에 다이어로그를 표시할 때 스타일이 없습니다. (IE9에서는 가능합니다. IE9에서는 CSS가 다운로드된 후에도 페이지 요소를 다시 그릴 수 있지만 IE8에서는 그렇지 않습니다.)이 문제를 해결하는 방법은ajax를 사용하여 css를 불러온 후에 dialog를 표시할 수 있습니다. 이렇게 하면 스타일로 표시할 수 있습니다. 코드는 다음과 같습니다.
if ($('link[ref$=""jquery-ui-1.8.14.custom.css""]').length == 0) {
                $.ajax({
                    url: '/css/jquery-ui-1.8.14.custom.css',
                    success: function(data) {
                        //    style  ,    head 
                        //    images   
                        $('<style type="text/css">' + data.replace(/url\(images/g, 'url(/css/images') + '</style>').appendTo('head');
                        //dialog() script;
                    }
                });
            }
            else { 
                //dialog() script;
            }

좋은 웹페이지 즐겨찾기