0

我在我们网站(主页、博客、论坛、画廊、教程和常见问题解答)中的几个页面或我们的页面上使用 vBulletin,目前正在使用 lavalamp (http://www.gmarwaha.com/blog/2007/08/23/lavalamp -for-jquery-情人/)。

几周以来,我一直在尝试弄清楚如何根据您所在的页面动态设置“当前”类,但没有成功。下面是我失败的尝试的几个例子——我已经验证了代码的工作原理,在那里,我能够得到正确的 li.. 但是 addClass 或 removeClass 不起作用。我尝试使用菜单的 ID 作为选择器,将脚本放置在几个不同的位置,使其成为一个函数并使用 lavalamp 初始化代码调用该函数......任何帮助将不胜感激!

第一次尝试:

<!--BEGIN LAVA MENU-->
    <ul class="lavaLamp" id="lavaMM">
        <li><a href="/">Home</a></li>
        <li><a href="/market/">Market</a></li>
        <li><a href="/content.php/475-the-daily-buzz">Blog</a></li>
        <li><a href="/forum/forum.php">Forum</a></li>
        <li><a href="/gallery/">Gallery</a></li>
        <li><a href="/forum/forumdisplay.php/439-Scrap-Orchard-University">Tutorials</a></li>
        <li><a href="/staff/">Staff</a></li>
        <li><a href="/forum/faq.php">FAQ</a></li>
        <li><a href="/market/support/">Support</a></li>
    </ul>
<!--END LAVA MENU-->


<script language="javascript" type="text/javascript">
$(document).ready(function(){
    $('#lavaMM').lavaLamp({
        fx: 'backout', 
        speed: 700,
        click: function(event, menuItem) {
            return true;
        }
    });
    var fullURL = document.URL;
    var splitURL = fullURL.split('/', 4);
    if (splitURL[3] == 'content.php') {
        $('ul.lavaLamp li:eq(2)').addClass('current');
    }
    else if (splitURL[3] == 'forum') {
            $('ul.lavaLamp li:eq(3)').addClass('current');
    } 
    else if (splitURL[3] == 'gallery') {
            $('ul.lavaLamp li:eq(4)').addClass('current');
    } 
});
</script>

第二次尝试:

<!--BEGIN LAVA MENU-->
    <ul class="lavaLamp" id="lavaMM">
        <li><a href="/">Home</a></li>
        <li><a href="/market/">Market</a></li>
        <li class="current"><a href="/content.php/475-the-daily-buzz">Blog</a></li>
        <li class="current"><a href="/forum/forum.php">Forum</a></li>
        <li class="current"><a href="/gallery/">Gallery</a></li>
        <li><a href="/forum/forumdisplay.php/439-Scrap-Orchard-University">Tutorials</a></li>
        <li><a href="/staff/">Staff</a></li>
        <li><a href="/forum/faq.php">FAQ</a></li>
        <li><a href="/market/support/">Support</a></li>
    </ul>
<!--END LAVA MENU-->

<script language="javascript" type="text/javascript">
$(document).ready(function(){
    $('#lavaMM').lavaLamp({
        fx: 'backout', 
        speed: 700,
        click: function(event, menuItem) {
            return true;
        }
    });
    var fullURL = document.URL;
    var splitURL = fullURL.split('/', 4);
    if (splitURL[3] == 'content.php') {
        $('ul.lavaLamp li:eq(3)').removeClass('current');
        $('ul.lavaLamp li:eq(4)').removeClass('current');
    }
    else if (splitURL[3] == 'forum') {
            $('ul.lavaLamp li:eq(2)').removeClass('current');
        $('ul.lavaLamp li:eq(4)').removeClass('current');
    } 
    else if (splitURL[3] == 'gallery') {
        $('ul.lavaLamp li:eq(2)').removeClass('current');
            $('ul.lavaLamp li:eq(3)').removeClass('current');
    } 
});
</script>

第三次尝试:

<!--BEGIN LAVA MENU-->
    <ul class="lavaLamp" id="lavaMM">
        <li><a href="/">Home</a></li>
        <li><a href="/market/">Market</a></li>
        <li><a href="/content.php/475-the-daily-buzz">Blog</a></li>
        <li><a href="/forum/forum.php">Forum</a></li>
        <li><a href="/gallery/">Gallery</a></li>
        <li><a href="/forum/forumdisplay.php/439-Scrap-Orchard-University">Tutorials</a></li>
        <li><a href="/staff/">Staff</a></li>
        <li><a href="/forum/faq.php">FAQ</a></li>
        <li><a href="/market/support/">Support</a></li>
    </ul>
<!--END LAVA MENU-->



<script language="javascript" type="text/javascript">
$(document).ready(function(){
    var fullURL = document.URL;
    var splitURL = fullURL.split('/', 4);
    if (splitURL[3] == 'content.php') {
        $('ul.lavaLamp li:eq(2)').each(function() {
                    $(this).addClass('current');
        });
    }
    else if (splitURL[3] == 'forum') {
            $('ul.lavaLamp li:eq(3)').each(function() {
                    $(this).addClass('current');
            });
    } 
    else if (splitURL[3] == 'gallery') {
            $('ul.lavaLamp li:eq(4)').each(function() {
                    $(this).addClass('current');
            });
    } 
});
</script>
4

1 回答 1

0

在文件中lavalamp.js 替换为o

o = $.extend({ fx: "linear", speed: 500, classes: 'current', click: function(){} }, o || {});
$current = o.classes;

调用函数:

 $(function() { $("#menu_main").lavaLamp({ fx: "backout", speed: 700 ,classes : 'current_page_item'})});
于 2012-05-30T20:06:07.770 回答