jQuery 面板在页面加载时向下滑动然后向上滑动

发布于 2024-11-05 03:52:58 字数 597 浏览 0 评论 0原文

这应该很简单,但我就是无法让它正常工作。

以下代码应该能够执行以下操作。页面加载完成后,页面顶部的 div (div#panel) 应向下滚动到视图中。延迟几秒钟后,div 应该向上滚动离开视图。当用户单击触发器时,div 还应该能够上下切换/滑动。

预先感谢您的意见/建议。

$(document).ready(function() {

    $("div#panel").slideDown("slow");
    setTimeout(function(){ 
    $("div#panel").slideUp("slow"); 
    }, 5000);

});

$(document).ready(function() {

    // Expand Panel
    $("#open").click(function(){
        $("div#panel").slideDown("slow");
    }); 

    // Collapse Panel
    $("#close").click(function(){
        $("div#panel").slideUp("slow"); 
    });         
});

This is suppose to be very simple, however I just can't get it to work as it should.

The following code should be able to do the following. As soon as page completes loading, a div (div#panel) at the top of the page should scroll down into view. After a few seconds delay the div should scroll back up out off view. The div should also be able to toggle/slide up and down as user clicks on a trigger.

Thanks in advance for advice/suggestions.

$(document).ready(function() {

    $("div#panel").slideDown("slow");
    setTimeout(function(){ 
    $("div#panel").slideUp("slow"); 
    }, 5000);

});

$(document).ready(function() {

    // Expand Panel
    $("#open").click(function(){
        $("div#panel").slideDown("slow");
    }); 

    // Collapse Panel
    $("#close").click(function(){
        $("div#panel").slideUp("slow"); 
    });         
});

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

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

发布评论

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

评论(3

唯憾梦倾城 2024-11-12 03:52:58

您必须先hide()面板,这样它才能滑入视图。

$(document).ready(function(){
    $("div#panel").hide();

    var autoTimer = null;

    autoTimer = setTimeout(function(){
        $("div#panel").slideDown("slow");
        autoTimer = setTimeout(function(){
            $("div#panel").slideUp("slow");
        }, 5000);
    },2000);

    $("#open").click(function(){
        $("div#panel").slideDown("slow");
        if(autoTimer) clearTimeout(autoTimer);
        autoTimer = null;
    });

    $("#close").click(function(){
        $("div#panel").slideUp("slow");
        if(autoTimer) clearTimeout(autoTimer);
        autoTimer = null;
    });         
});

演示:http://jsfiddle.net/X9Vn4/6/

You have to hide() the panel first, so it can slide into view.

$(document).ready(function(){
    $("div#panel").hide();

    var autoTimer = null;

    autoTimer = setTimeout(function(){
        $("div#panel").slideDown("slow");
        autoTimer = setTimeout(function(){
            $("div#panel").slideUp("slow");
        }, 5000);
    },2000);

    $("#open").click(function(){
        $("div#panel").slideDown("slow");
        if(autoTimer) clearTimeout(autoTimer);
        autoTimer = null;
    });

    $("#close").click(function(){
        $("div#panel").slideUp("slow");
        if(autoTimer) clearTimeout(autoTimer);
        autoTimer = null;
    });         
});

Demo: http://jsfiddle.net/X9Vn4/6/

萝莉病 2024-11-12 03:52:58

你也可以试试这个。当slideDown执行完成时加载slideUp。

$('#id').slideDown(500, function(){
   setTimeout(function(){$('#id').fadeOut(500)}, 1500);
});

You could also try this. Load slideUp when slideDown completes execution.

$('#id').slideDown(500, function(){
   setTimeout(function(){$('#id').fadeOut(500)}, 1500);
});
一花一树开 2024-11-12 03:52:58
Try this :
$(document).ready(function(){
   setTimeout('slide_div()',5000);
  $('#open').click(function(){
      $('#pane1').slideDown('slow');
  });

  $('#close').click(function(){
      $('#pane1').slideUp('slow');
  });
});

function slide_div()
{
   $('#pane1').slideToggle();
 } 
Try this :
$(document).ready(function(){
   setTimeout('slide_div()',5000);
  $('#open').click(function(){
      $('#pane1').slideDown('slow');
  });

  $('#close').click(function(){
      $('#pane1').slideUp('slow');
  });
});

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