jquery 反弹效果不适用于 float 元素

标签 jquery css css-float bounce

我正在使用一个链接向左浮动的链接。然后,当我在单击时对元素赋予弹跳效果时,当我单击它们时会发生弹跳,但它会移动到容器的右侧。

当我删除 float:left 效果时,这种现象不会发生。我一直试图找到 float 属性的替代品,但找不到任何合适的效果。 这是我的 HTML 代码

<div id="menu"> 
        <ul>
        <li><asp:LinkButton ID="lbDashboard" ClientIDMode="Static" runat="server"  onclick="lbDashboard_Click">Dashboard</asp:LinkButton></li>
        <li><asp:LinkButton ID="lbFindHotfix" ClientIDMode="Static" runat="server" onclick="lbFindHotfix_Click">Search</asp:LinkButton></li>
        <li><asp:LinkButton ID="lbHelpWiki" ClientIDMode="Static" runat="server" onclick="lbHelpWiki_Click">Help/Wiki</asp:LinkButton></li>
        </ul>
        </div>

这是CSS部分

#menu {
padding-top:30px;
padding-right:30px;
margin: 0;
float: right;
width:100%;
overflow:hidden;
}

#menu ul, #searchdropdown ul{
margin: 0;
list-style: none;
}

#mainlinks ul
{
margin: 0;
list-style: none;
}
#menu li, #mainlinks li, #searchdropdown li{
display: inline;
}

#menu a{
display: block;
float: left;
padding: 10px 10px;
margin: 0;
text-align: center;
text-decoration: none;
text-transform: uppercase;
font-size: 14px;
font-weight: normal;
font-family: Georgia, "Times New Roman", Times, serif;
color: #616B4F;
}


#menu a:hover{
background: #9FAB87;
color: #FFFFFF;
border-top-left-radius:1em;
border-bottom-right-radius:1em;
}

这是我的脚本代码-

<script type="text/javascript" language="javascript">
    $(function () {

        //Add bounce effect on Click of the DIV
        $('#lbDashboard').click(function () {
            $(this).effect("bounce", { times: 3 }, 300);
        });

        $('#lbFindHotfix').click(function () {
            $(this).effect("bounce", { times: 3 }, 300);
        });

        $('#lbHelpWiki').click(function () {
            $(this).effect("bounce", { times: 3 }, 300);
        });

    });

</script>

最佳答案

当您 float 列表项而不是链接并在链接上执行弹跳时会发生什么?

#menu li, #mainlinks li, #searchdropdown li{
display: inline;
}

#menu li {
float: left;
padding: 10px 10px;
}

#menu a{
margin: 0;
text-align: center;
text-decoration: none;
text-transform: uppercase;
font-size: 14px;
font-weight: normal;
font-family: Georgia, "Times New Roman", Times, serif;
color: #616B4F;
}

关于jquery 反弹效果不适用于 float 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7991124/

相关文章:

jquery - 使用 jquery 使用 flexbox 分发图像,使图像高度相等 - Firefox 与 Chrome 行为

html - 如何在图像上正确重叠文本

html - 将 3 div - div 2 排列到左侧 - div 1 和 3 排列到右侧

css - Chrome : overflow:auto + margin:auto fails to layout correctly sometimes

html - 带对齐的水平 div

javascript - 为什么 chrome 后退/前进按钮不触发 popstate 事件?

javascript - 将错误消息从 php 发送到 ajax

html - 将2个div放在一起

javascript - 平滑滚动时更改 id 的颜色

css - 另一件事不能居中,啊