【问题标题】:Preventing jQuery animated div width from fluidly moving content防止 jQuery 动画 div 宽度流畅移动内容
【发布时间】:2011-07-01 00:27:12
【问题描述】:

我有一个在页面加载时隐藏的 div,并通过 jQuery 拉伸到 100% 宽度。动画很棒,但内容会流畅地调整,直到它的容器(在可拉伸的 div 内)达到它的完整宽度。

以前内容没有变化,在对代码进行如此多的编辑后,我不知道是什么改变了这种行为!如何修复内容移动;在没有任何移动的情况下显示尽可能多的调整 div 的大小?具体问题是:

-#show_contact 锚点下降到它的两个姐妹之下,直到它有空间在同一条线上 -#collections div 的 margin:0 auto 受#show_contact 的短暂访问影响

谢谢!

P.S.- 这是它之前的样子/我现在想要的样子:http://jsfiddle.net/ZP86m/

HTML:

<div id="slider">
    <div id="trigger">
        <img class="arrow_small" src="images/left_small.png" alt="slide menu out" />
    </div>
    <div class="trans" id="overlay"></div>
    <div id="content">
        <div id="main_nav">
            <div id="nav_links">
                <div class="nav_link"><h3><a class="showlink" id="show_campaigns" title="Campaigns">CAMPAIGNS</a></h3></div>
                <div class="nav_link"><h3><a class="showlink" id="show_collections" title="Collections">COLLECTIONS</a></h3></div>
                <div class="nav_link"><h3><a class="showlink" id="show_contact" title="Contact">CONTACT</a></h3></div>
        </div>
            <div id="nav_container">
                <div class="nav" id="campaigns">
                    <p>CAMPAIGNS!</p>
                </div>
                <div class="nav current" id="collections">
                    <p>COLLECTIONS!</p>
                </div>
                <div class="nav" id="contact">
                    <p>CONTACT!</p>
                </div>
            </div>
       </div>
    </div>
</div>

CSS:

    #slider {
    width:100%;
    height:100%;
    top:0;
    right:0;
    float:right;
    position:absolute;
}
#overlay {
    width:100%;
    height:100%;
    position:absolute;
}
#content {
    width:100%;
    height:100%;
    position:relative;
    z-index:1;
}
#main_nav {
    width:684px;
    height:100%;
    margin:0 auto;
    padding:0px 30px 0px 30px;
}
#nav_links {
    width:100%;
    height:40px;
}
.nav_link {
    width:33%;
    float:left;
    margin:20px 0px 0px 0px;
    position:relative;
    text-align:center;
}
.nav{
    width:208px;
    height:100%;
    padding:20px 10px 20px 10px;
    margin:0 auto;
    text-align:center;
}

Javascript:

// Slide out menu
$('#slider')[0].style.width = '30px';
$(function() {
    $('#trigger').toggle(function (){
        $('#slider').animate({'width':'100%'}, 1500);
        $('.arrow_small').attr('src','images/right_small.png');
    }, function() {
        $('#slider').animate({'width':'30px'}, 1500);
        $('.arrow_small').attr('src','images/left_small.png');
    });
});

【问题讨论】:

    标签: jquery html resize width fluid


    【解决方案1】:

    main_nav 的 padding 必须与滑块动画的宽度相匹配

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-29
      • 1970-01-01
      • 2011-09-13
      • 2018-07-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多