2

我发现了一些可以做我想做的事情的脚本。这个脚本在点击事件上上下移动我的盒子,并将我的 div 调整为窗口高度的百分比。不幸的是,如果有人调整浏览器窗口的大小,则 div 不会继续调整大小。我尝试从单击事件中取出高度窗口功能,并将其放在它下方和/或在此站点上找到其他调整大小的脚本,但没有任何反应。它仅在此单击事件上调整大小。你能帮我吗?

我的 div 标签固定在浏览器窗口的底部并向上滑动。

jQuery(function( $ ){

   var container = $( "#content" );

   $( "a" ).click(

        function( event ){

           $('#content').height(function(){
           return $(window).height() * 0.47;
           });

           event.preventDefault();

           if (container.is( ":visible" )){

              container.slideUp( 500 );

           } else {

              container.slideDown( 500 );

              }
           }
      );
 });
4

2 回答 2

0

您需要监听窗口调整大小事件并调整内容容器的大小。

$(window).on('resize', function() {
    if (container.is(':visible')) {
        container.height(function() {
          return $(window).height() * 0.47;
        });
    }
});
于 2013-01-10T18:41:26.797 回答
0

我建议添加一个调整大小的侦听器,并像这样分解您的实际逻辑:

jQuery(function( $ ){
    var resizeFunction = function(event){
       $('#content').height(function(){
            return $(window).height() * 0.47;
       });

       if (event != null){
           event.preventDefault();
       }
       if (container.is( ":visible" )){

          container.slideUp( 500 );

       } else {

          container.slideDown( 500 );

          }
       }
    var container = $( "#content" );

    $( "a" ).click(resizeFunction(event))
    $(window).resize(resizeFunction(null))
});
于 2013-01-10T18:34:21.393 回答