我如何摆脱这种'跳跃'的jQuery行为?

时间:2011-07-26 08:31:43

标签: jquery html css3 navigation jquery-animate

按住一个按钮并按下它后,然后移动,按钮再次动画。我试图让它动起来并熬夜直到你离开它,然后顺利地动画下来。我确实需要在Safari,Firefox和IE中使用它。

提前感谢您的帮助,时间和考虑。

以下是代码的工作示例。

    <html>
    <head>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.js"></script>
    <script type="text/javascript"><!--
    $(document).ready(function() { 
        var navDuration = 500; 
        var navJumpHeight = "90px";

        $('#tabs li').hover(function() {
            $(this).animate({ height : "-="+navJumpHeight }, navDuration);           
        }, function() {
            $(this).animate({ height : "150px" }, navDuration);
        });        
    });
    // --></script>

    <style type="text/css"><!--
    /* CSS Reset */
    html,body,div,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,fieldset,input,hr{margin:0;padding:0;line-height:1em;}
    h1,h2,h3,h4,h5,h6,pre,code,address,caption,cite,code,em,strong,th{font-size:1em;font-weight:normal;font-style:normal;line-height:1em;}
    ul,ol{list-style:none;}
    fieldset,img,hr{border:none;}
    q:before,q:after{content:'';}
    abbr,acronym{border:0;}
    caption,th{text-align:left;}
    table{border-collapse:collapse;border-spacing:0;}
    td {vertical-align:top;}
    html{font-size:100.01%;}
    body{font-size:1em;}
    a img{border: none;}

    body{ font-family:Arial; font-size:10px; font-weight:500; background:#ffffff no-repeat center top; }    
        div.headerblock{ position:absolute; display:table-cell; text-align:center; left:0px; top:0px; width:100%; height:150px; }   
            div.header{ position:relative; width:900px; height:170px; margin-left:auto; margin-right:auto; }
                div.logo        { position:relative; display:table-cell; vertical-align:top; text-align:left; left:0px; top:0px; width:349px; height:170px; float:left; }


        #headerblock #header #tabs { height: 150px; overflow: hidden; padding: 0 10px; left:40; list-style: none; position: relative; filter:alpha(opacity=85); opacity:0.85; }
        #headerblock #header #tabs li, #headerblock #header #tabs li a { width: 100px; position: relative; float: left; }      
        #headerblock #header #tabs li { top: 0 px; margin: 0; background: none; padding: 0; display: block; vertical-align: bottom;}
        #headerblock #header #tabs li a { display: block; color: #ffffff; font-size: 1.7em; text-decoration: none; text-transform: uppercase; height: 150px; line-height: 1.1em}
        #headerblock #header #tabs #tab_about a   { background-color: #ff0000; }
        #headerblock #header #tabs #tab_services a{ background-color: #ffa500; }
        #headerblock #header #tabs #tab_contact a { background-color: #ffff00; }
        #headerblock #header #tabs #tab_learning a{ background-color: #00ff00; }
        #headerblock #header #tabs #tab_clients a { background-color: #0000ff; }
    --></style>
    </head>
    <body>
    <div class="headerblock" id="headerblock">
    <div class="header" id="header">
        <div class="logo">
            &nbsp;
        </div>
        <ul id="tabs">
            <li id="tab_about"><a href="#">&nbsp;<br>Tab 1</a></li>
            <li id="tab_services"><a href="#">&nbsp;<br>Tab 2</a></li>
            <li id="tab_contact"><a href="#">&nbsp;<br>Tab 3</a></li>
            <li id="tab_learning"><a href="#">&nbsp;<br>Tab 4</a></li>
            <li id="tab_clients"><a href="#">&nbsp;<br>Tab 5</a></li>
        </ul>
    </div >
</div>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

overflow: hidden广告li,因为jQuery也在动画期间执行此操作:http://jsfiddle.net/UJSZq/

#headerblock #header #tabs li { overflow: hidden }