ورود

View Full Version : عمل نکردن خاصیت Class در منو



sg.programmer
چهارشنبه 20 آبان 1394, 17:26 عصر
سلام مشکل منوی من چی هست که خاصیت Class آن تغییر نمیکنه



<!--menu starts-->
<div class="span8">
<div id="smoothmenu" class="ddsmoothmenu">
<ul>
<li><a href="Default.aspx" class="selected">صفحه اصلی</a></li>
<li><a href="Temp.aspx">مشتریان</a></li>
<li><a href="List.aspx">درباره ما</a> </li>
<li><a href="About.aspx">ارتباط با ما</a> </li>
</ul>
</div>
<a href="Login.aspx" target="_blank" class="mybtn">پنل کاربری</a>
</div>
<!--menu ends-->



اینم کد جاوا اسکریپت




<script type="text/javascript">
$(document).ready(function () {

$('#smoothmenu ul li').click(function () {

$('ul').children('li').children('a').removeClass() ;
$(this).addClass('selected');
});
});
</script>

sg.programmer
پنج شنبه 21 آبان 1394, 13:02 عصر
کسی نمیتونه کمک بده که مشکل برای چی هست و خاصیت کلاس selected تغییر نمیکنه؟

sg.programmer
شنبه 23 آبان 1394, 14:53 عصر
سلام یکی از دوستان اگه میتونه بگه کجا اشتباه بوده؟

sg.programmer
یک شنبه 01 آذر 1394, 19:53 عصر
چرا یکی از دوستان نظری نمیده تا چیکار باید بکنم؟

anvar
دوشنبه 02 آذر 1394, 07:21 صبح
1 - با کلیک li منوها فعال و غیرفعال نمیشن بلکه تگ a هست که باید براش کد بنویسید.

با کلیک بر روی هر a می آییم کلاس selected رو از تگ a حذف می کنیم ($('#smoothmenu ul li a').removeClass('selected');)
بعد به تگ a کلیک شده ($(this)) کلاس selected رو اضافه می کنیم ($(this).addClass('selected');)

کل کد میشه

$(document).ready(function () {
$('#smoothmenu ul li a').click(function () {
$('#smoothmenu ul li a').removeClass('selected');
$(this).addClass('selected');
});
});

sg.programmer
دوشنبه 02 آذر 1394, 15:18 عصر
تشکر از پاسختون ولی باز عمل نکرد؟

anvar
دوشنبه 02 آذر 1394, 15:39 عصر
من تست کردم باید جواب بده!

لینک کتابخانه جی کوئری رو به اول صفحه اضافه کردی؟

sg.programmer
دوشنبه 02 آذر 1394, 20:05 عصر
تشکر مهندس نشد:

من قسمت اول منو را هم میزارم یک نگاه میندازین؟؟



<!--header-bottom starts-->
<section id="header-bottom">
<div class="container">
<div class="row">

<!--menu starts-->
<div class="span8">
<div id="smoothmenu" class="ddsmoothmenu">
<ul>
<li><a href="Default.aspx" class="selected">صفحه اصلی</a></li>
<li><a href="ListFood.aspx">لیست غذاها</a></li>
<li><a href="Temp.aspx">مشتریان</a></li>
<li><a href="List.aspx">درباره رستوران</a> </li>
<li><a href="About.aspx">ارتباط با ما</a> </li>
<li><a href="Login.aspx">ورود به سامانه</a> </li>
</ul>
</div>
<a href="Login.aspx" target="_blank" class="mybtn">پنل کاربری</a>
</div>
<!--menu ends-->

anvar
دوشنبه 02 آذر 1394, 20:38 عصر
این کد فقط بر روی html کار میکنه - زمانی که شما در صفحات asp.net از این کد استفاده می کنید با رفتن به آدرس صفحات لینک های منو صفحه عوض میشه شما باید در زمان جابجا شدن بین صفحات منوی انتخاب شده را داشته باشید تا بتونید در صفحه دوم سلکتش کنید در غیر اینصورت از آنجا که وب stateless هست مشخص نمیشه که کدوم منو از صفحه قبل انتخاب شده

برای حل این مشکل Url رو با مقدار href لینک های منو چک می کنند تا صفحه مورد نظر رو مشخص (مثلا url مساوی با www.mysite.com/home.aspx و لینک منوی خانه هم مساوی با همین آدرس - لذا منوی خانه باید سلکت شود) و کلاس select رو به اون اضافه بکنند.

این هم یک روش
http://community.discountasp.net/threads/change-css-class-when-click-on-menu-item.8531/

sg.programmer
سه شنبه 03 آذر 1394, 16:45 عصر
تشکر مهندس از گفته ها تون استفاده کردم و از این روش دوم تون و با کمک از این لینک درست شد
http://forums.asp.net/t/1692324.aspx?changing+selected+menu+item+in+master +page


فقط یک سوال این روش چه مزایا و یا سرباری نسبت به جی کوئری داره؟

sg.programmer
چهارشنبه 11 آذر 1394, 20:36 عصر
سلام من از روش بالا استفاده کردم موقعی که جند بار بر روی قسمتها کلیک میشه پیغام زیر صادر میشه!!!!!!!
چیگار باید انجام بدم تا خطا زیر حذف گردد؟؟؟؟؟؟

anvar
پنج شنبه 12 آذر 1394, 17:00 عصر
ارور بالا ربطی به منو نداره

عوامل متعددی منجر به این خطاء میشن (میتونید عنوان خطاء رو در گوگل جستجو کنید)

http://geekswithblogs.net/shahed/archive/2008/08/23/124652.aspx