现象
近日需要在项目中应用 superfish这个JQuery插件实现一个下拉菜单功能,但是在实际使用中却发现,当显示菜单时,它默认是显示在右边的。因为这个要制作的下拉菜单是一个水平菜单,菜单项有多个,前面几个菜单项其菜单显示在右边没有问题,但是需求却要求最后一个菜单项要显示在右边,suerfish这个插件现在就无法实现。
解决方案
虽然可以找其它插件,但是不死心,想尝试一下解决它。后来经过在网上google了一番,终于发现了有一个解决方案,方法好简单,下面列出关键的代码:
近日需要在项目中应用 superfish这个JQuery插件实现一个下拉菜单功能,但是在实际使用中却发现,当显示菜单时,它默认是显示在右边的。因为这个要制作的下拉菜单是一个水平菜单,菜单项有多个,前面几个菜单项其菜单显示在右边没有问题,但是需求却要求最后一个菜单项要显示在右边,suerfish这个插件现在就无法实现。
解决方案
虽然可以找其它插件,但是不死心,想尝试一下解决它。后来经过在网上google了一番,终于发现了有一个解决方案,方法好简单,下面列出关键的代码:
<script type="text/javascript">
jQuery(function(){
jQuery('ul.sf-menu').superfish({
onBeforeShow: function(){
if ($(this ).hasClass("show_left")) {
$(this).css("left", "-2.9em");
}
}
});
});
</script>
<li>
<a href="#">menu item</a>
<ul class="show_left">
<li>
<a href="#">menu item</a>
</li>
<li>
<a href="#">menu item</a>
</li>
</ul>
</li>