使用 JQuery 在 IE 中完全加载 DOM 时显示 div

发布于 2024-12-27 06:09:18 字数 1576 浏览 0 评论 0原文

仅当 DOM 完全加载时,我才需要显示包含幻灯片的 DIV。

我使用了这个脚本:

    <script type="text/javascript">
    $(window).load(function() {
        new Image("images/layout/wallpaper.jpg");
        new Image("images/layout/plates.png");

        $('#slideshow').css('display', 'block');
        $('#slideshow').nivoSlider({
            effect: 'fade',
            animSpeed: 500,
            pauseTime: 3000,
            directionNav: false,
            directionNavHide: false,
            controlNav: false,
            keyboardNav: false,
            pauseOnHover: false
        });
    });
    </script>

#slideshow DIV 被定义为显示:隐藏。在 Internet Explorer 中,DIV 从不显示。 我该如何解决这个问题?

======================================

编辑为:

    $(document).ready(function () {
        $(window).load(function() {
            new Image("images/layout/wallpaper.jpg");
            new Image("images/layout/plates.png");

            $('#slideshow').nivoSlider({
                effect: 'fade',
                animSpeed: 500,
                pauseTime: 3000,
                directionNav: false,
                directionNavHide: false,
                controlNav: false,
                keyboardNav: false,
                pauseOnHover: false
            });
            $('#slideshow').css('display', 'block');
        });
    });

仍然没有区别。 这是 #slideshow DIV 的 CSS:

#slideshow {
    z-index: 0;

   height: 457px;
   width: 660px;
   position: relative;
}

“display: none;”属性被定义为内联。

I need to show a DIV containing a slideshow only when the DOM is fully loaded.

I used this script:

    <script type="text/javascript">
    $(window).load(function() {
        new Image("images/layout/wallpaper.jpg");
        new Image("images/layout/plates.png");

        $('#slideshow').css('display', 'block');
        $('#slideshow').nivoSlider({
            effect: 'fade',
            animSpeed: 500,
            pauseTime: 3000,
            directionNav: false,
            directionNavHide: false,
            controlNav: false,
            keyboardNav: false,
            pauseOnHover: false
        });
    });
    </script>

The #slideshow DIV is defined as display: hidden. In Internet Explorer the DIV never shows.
How can I solve this?

====================================

Edited to:

    $(document).ready(function () {
        $(window).load(function() {
            new Image("images/layout/wallpaper.jpg");
            new Image("images/layout/plates.png");

            $('#slideshow').nivoSlider({
                effect: 'fade',
                animSpeed: 500,
                pauseTime: 3000,
                directionNav: false,
                directionNavHide: false,
                controlNav: false,
                keyboardNav: false,
                pauseOnHover: false
            });
            $('#slideshow').css('display', 'block');
        });
    });

Still no difference.
This is the CSS for the #slideshow DIV:

#slideshow {
    z-index: 0;

   height: 457px;
   width: 660px;
   position: relative;
}

The "display: none;" property is defined as inline.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

思念绕指尖 2025-01-03 06:09:18

它很可能就是这么简单:

$('#slideshow').show()

另外,您使用 document.load 事件而不是使用 document.load 事件的任何原因:

$(document).ready(function (){

It may well be this simple :

$('#slideshow').show()

Also, any reason you're using document.load event and not:

$(document).ready(function (){
π浅易 2025-01-03 06:09:18

尝试等待 dom 准备好,例如:

$(document).ready( function () {
... your code inside the window load function ...
});

Try wait for the dom to be ready, like:

$(document).ready( function () {
... your code inside the window load function ...
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文