PDA

View Full Version : سوال: active شدن منو



fh_joker
شنبه 30 آبان 1394, 13:23 عصر
سلام
من کد زیر رو گذاشتم برای اینکه منویی که الان اکتیو هست مشخص بشه.

$(function() {
var pgurl = window.location.href.substr(window.location.href.l astIndexOf("/")+1);
$("nav a").each(function(){
if($(this).attr("href") == pgurl || $(this).attr("href") == '' )
$(this).addClass("active");
})
});

مشکل اینه که وقتی منویی زیر منو داره ، زیر منو رو به عنوان active می شناسه و تغییر رنگ میده در حالی که من می خوام خود منویی اولی active باشه .
چه کارش کنم؟؟؟

anvar
شنبه 30 آبان 1394, 17:22 عصر
از متد parents استفاده کن
$(this).parents("a").addClass("active");

به جای a در parents("a") می تونی از کلاس هم استفاده کنی مثلا a.classname یا فقط اسم کلاس .classname

fh_joker
یک شنبه 01 آذر 1394, 10:34 صبح
ممنون از کمکتون.
الان به مشکل دیگه برخوردم.
لینکهایی که متن فارسی داره و با htaccess کار کردم نمی شناسه. مقدار متغییر pgurl رو پر میکنه ولی به شکل ناخوانا
حالا چه کارش کنم؟؟؟

anvar
یک شنبه 01 آذر 1394, 12:31 عصر
این دو موضوع ربطی به هم ندارن

fh_joker
یک شنبه 01 آذر 1394, 13:02 عصر
چرا به هم ربطی ندارن؟
وقتی روی منو کلید میشه مقدار href توی pgurl قرار میگه و اون منو active میشه.
الان منوهایی دارم به نام خدمات و در href زیر منو دارم html.اجرای-شبکه-کامپیوتری/service
خوب الان باید با کلیک روی این زیرمنو منوی خدمات تغییر رنگ بده. ولی هیچ اتقاقی نیوفته.
درحالی که توی بقیه منوها و زیرمنوها درسته.

anvar
یک شنبه 01 آذر 1394, 13:37 عصر
منظور من این بود که استفاده از متد parents جی کوئری ربطی به بهم ریختگی متغیر مورد نظر شما نداره

بهتره url رو قبل از ذخیره در متغیر انکود کنی

http://www.w3schools.com/jsref/jsref_decodeuricomponent.asp