簡體   English   中英

PHP頁面名稱變量+ jQuery

[英]PHP Page name variable + jQuery

在實現jQuery頁內標簽導航系統后,我遇到了一個問題,該問題在於如何重新定義我的頁面名稱,以便可以在主導航中將其設置為“活動”樣式。

我用:

<?php $var_page_name = 'example.php'; ?> 

定義我網站上的每個頁面名稱,並用正確的頁面名稱替換示例。

然后,我使用以下代碼在導航中設置“活動”頁面的樣式,並使用CSS定義活動類:

<?php global $var_page_name; ?>
<ul>
<li><a<? if($var_page_name == 'index.php') print ' class="active"'; ?> href="index.php">web design</a></li>
</ul>

效果很好。 我為導航添加了頁內jQuery選項卡解決方案。 這也有效。

但是,在單擊選項卡之一並轉到新的內容div之后,頁面名稱似乎已更改,因此正確的主導航項不再被認為是活動的。 網址為http://www.example.com/index.php# ,但是如果我將活動頁面導航變量修改為:

<a<? if($var_page_name == 'index.php' || $var_page_name == 'index.php#' ) print ' class="active"'; ?>

或嘗試使用標簽所使用的div ID:

<a<? if($var_page_name == 'index.php' || $var_page_name == 'index.php#content_2' ) print ' class="active"'; ?>

它不能解決問題。 有什么建議么?

這是您的tab腳本中的錯誤。

當您單擊選項卡時,即使<a>不是選項卡,它也會從頂部導航欄中的<a>中刪除“活動”類。

更改行:

// switch all tabs off
$(".active").removeClass("active");

至:

$(".tabs .active").removeClass("active");

或類似於僅從選項卡中刪除“活動”類而不是頁面中所有元素的類。

<?php $var_page_name = 'example.php'; ?>

錯了 使用類似

<?php
$exploded = explode($_SERVER['REQUEST_URI']);
<a href="/page/" class="<?php echo ($exploded[1] == "page") ? "active" : ""; ?>">Page</a>

請記住,默認情況下不會將哈希發送到服務器

好吧,我認為問題與頁面中的jquery代碼有關,而不是與PHP代碼有關。 檢查js標頭代碼,我發現了這一點:

// When a link is clicked       
$("a.tab").click(function () {                              
  // switch all tabs off            
  $(".active").removeClass("active");
  ...
});

選擇器“ a.tab”上的單擊綁定將清除整個頁面中的所有“ .active”類,包括“ nav”部分中的類(位於選項卡上方)。
嘗試更改此行:

$(".active").removeClass("active");

對此:

$("#tabbed_box_1").find(".active").removeClass("active");

那應該做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM