2010-10-29 73 views
0

我在我的網站中實現了Lavalamp菜單,並且我想這樣做:當用戶單擊菜單中的某個鏈接時,懸停保留在該鏈接中。Jquery Lavalamp當前菜單

lavalamp效果正在工作。

的jquerycode我已經是這樣的:

<script type="text/javascript"> 
    $(function() { 
     $("#menutop").lavaLamp({ 
      fx: "backout", 
      speed: 700, 
      click: function(event, menuItem) { 
       return true; 
       } 
     }); 
    }); 
</script> 

的菜單的HTML代碼是這樣的:

<ul class="menu-top" id="menutop"> 
       <li class="current"><a href="index.php">Início</a></li> 
       <li><a href="servidores.php">Servidores</a></li> 
       <li><a href="pagamentos.php">Pagamentos</a></li> 
       <li><a href="forum/">Fórum</a></li> 
       <li><a href="sobre.php">Sobre</a></li> 
</ul> 

我認爲解決的辦法是做與jQuery的東西,類電流分配給與我們正在查看的頁面的href。

我不知道如何做到這一點,但如果你的理解和認識,讓我知道的xD

感謝

PS:當然也有在我的網站其他頁面,但如果有不li與頁面的href開始查看,當前類將始終指向li的index.php

回答

1

@Afonso,這可能會比較遲,但比從未更好。它可以幫助到達此頁面的其他人。

因此,您希望懸停在您當前所在頁面的li元素下方,對嗎?爲此,我們將更改插件以接受起始位置作爲變量。像這樣做 -

  1. 設置的選項有默認值的變量START_POSITION 0

    o = $.extend({ fx: "linear", speed: 500, start_position: 0, click: function(){} }, o || {}); 
    
  2. 更改插件設置CURR元素,如圖

    curr = $("li.current", this)[o.start_position] || $($li[o.start_position]).addClass("current")[0]; 
    
  3. 現在在你可以做的頁面的JavaScript:

    $("#navlinks").lavaLamp({ 
        fx: "backout",//optional 
        speed: 700, 
        start_position: 1,//When page is loaded hover will be under Servidores 
        click: function(event, menuItem) { 
         return true;//so that you navigate to the appropriate link under 'li' 
        } 
    }); 
    

我已經使用插件版本0.1.0來測試這個。而且我沒有手動設置課程「當前」。

因此,現在您可以手動設置您希望懸停的項目,而不管它是否鏈接到正在查看的頁面。在PHP

1

IM編碼,這是一個有點討厭evertime重新定義START_POSITION,所以我在我的頭採用php知道我是什麼網頁上,並設置相應的電流等級:

//我得到我的電流網頁名稱

<?php 
    $page = $_SERVER['SCRIPT_NAME']; 
    $page = substr($page, 1); 
?> 

//我當前頁面比較我的菜單項

<ul class="arrowslide" id="1"> 
<li <?php if($page=="index.php")echo("class='current'");?>><a href="index.php">accueil</a></li> 
<li <?php if($page=="club.php")echo("class='current'");?>><a href="club.php">le club</a></li> 
<li <?php if($page=="equipe.php")echo("class='current'");?>><a href="equipe.php">l'equipe</a></li> 
<li <?php if($page=="avion.php")echo("class='current'");?>><a href="avion.php">l'avion</a></li> 
</ul> 

要carreful比較您的網頁,如果你是在子目錄從SERV呃,你需要減去另一層或整個地址。 所以無論

$page = substr($page,2); 

if($page=="directory/page.php").. 

希望幫助那些在未來的PB!