PDA

View Full Version : صفت active کار نمیکند



pary_daryayi
پنج شنبه 06 شهریور 1393, 10:37 صبح
سلام . من این منو رو دارم :



<nav> <ul id="menu"> <li><a href="index.php">صفحه اصلي</a></li> <li><a href="gallery.php">گالري</a></li> <li><a href="Wine.html">موزيك</a></li> <li><a href="Contacts.php">تماس با ما</a></li> </ul> </nav>

میخوام وقتی روی یکی از منو ها کلیک کردم ، اون منو active بشه و مشخص باشه که الان در صفحه ی مربوط به این منو هستیم . به چند شکل نوشتم اما نتیجه نمیده :#menu li.active a{color:yellow}#menu li a:active{color:yellow}menu li:active{ background-color:#CC3333}

Mori Bone
پنج شنبه 06 شهریور 1393, 10:48 صبح
:active واسه موقعی هست که روی شی کلیک میشه. واسه اینکه روی شی کلیک شد اون صفات بمونه به روش زیر عمل کنید:
<script>
$('#menu > ul > li').click(function() {
$(this).addClass('active');
});
</script>


<style>
#menu > ul > li.active {
background: #000;
}
</style>

pary_daryayi
چهارشنبه 19 شهریور 1393, 10:54 صبح
ممنون . کدی که دادید کار نمیکنه . اما کدهای زیر کار میکنند
کد html :


<nav>
<ul id="menu">
<li><a href="index.php">خانه</a></li>
<li><a href="classlist.php">لیست کلاسها</a></li>
<li><a href="gallery.php">گالری</a></li>
<li><a href="news.php">علمی - ورزشی</a></li>
<li class="end"><a href="contact.php">تماس با من</a></li>
</ul>
</nav>


کد js:


<script>
jQuery(document).ready(function($) {


$('#menu li').each(function(){
if(window.location.href.indexOf($(this).find('a:fi rst').attr('href'))>-1)
{
$(this).addClass('active').siblings().removeClass( 'active');
}
});
});
</script>


کد css:


.active { background-color:#000}


این کدها کار میکنند و باعث میشه که بک گراند li مشکی بشه .

حالا من میخوام به جای بک گراند li ، رنگ لینک ها تغییر کنه . کد رو به این صورت نوشتم تاثیر نداشت :


<script>
jQuery(document).ready(function($) {

$('#menu li a').each(function(){
if(window.location.href.indexOf($(this).find('a:fi rst').attr('href'))>-1)
{
$(this).addClass('active').siblings().removeClass( 'active');
}
});
});
</script>




.active { color:#000}


به نظرتون چه تغییری باید اعمال بشه ؟