View Full Version : سوال: چطوری با حرکت دادن اسکرول منو هم جابجا شه؟
amirahmady77
دوشنبه 08 دی 1393, 11:40 صبح
با سلام
میخواستم بدونم چه طوری میشه با پایین امدن در صفحه وب منو هم جابجا شه
با تشکر
hosseinsh22
دوشنبه 08 دی 1393, 11:57 صبح
امید وارم جواب سوال شما باشه . اخه من اینجوری متوجه شدم... موفق باشید
در بخش اول:
کدهای html زیر را در مکانی که میخواهید منو اصلی به نمایش در بیاید قرار دهید (مثلا در بخش header).
<div class="nav-container">
<div class="nav">
<ul>
<li><a href="">خانه</a></li>
<li><a href="">وردپرس</a></li>
<li><a href="">برنامه نویسی</a></li>
<li><a href="">دانلود</a></li>
<li><a href="">تماس با ما</a></li>
<li><a href="">درباره ما</a></li>
<li><a href="">ورود به سایت</a></li>
</ul>
<div class="clear"></div>
</div>
</div>
در بخش دوم:
نوبت به استایل دهی می رسد، بنابراین قطعه کد زیر را در شیوه نامه قالب خود قرار دهید (البته در این منو بر زیباسازی تأکید چندانی نشده و شما می توانید هر نوع استایلی را که خواستید به آن بدهید).
* سلکتور f-nav، نام کلاسی است که در بخش جی کوئری ساخته خواهد شد.
body {
height: 2000px;
direction:rtl;
font-family:Tahoma;
background: #F3F3F3;
}
.nav-container {
background-color: #3c404b;
background: -webkit-linear-gradient(#56585D, #2F3034);
background: -moz-linear-gradient(#56585D, #2F3034);
background: linear-gradient(#56585D, #2F3034);
}
.f-nav {
z-index: 9999;
position: fixed;
right: 0;
top: 0;
width: 100%;
background: #efefef;
background: linear-gradient(top, #efefef 0%, #bbbbbb 100%);
background: -moz-linear-gradient(top, #efefef 0%, #bbbbbb 100%);
background: -webkit-linear-gradient(top, #efefef 0%, #bbbbbb 100%);
} /* this make our menu fixed top */
.nav {
height: 42px;
}
.nav ul {
list-style: none;
}
.nav ul li {
float: right;
margin-top: 6px;
padding:6px;
border-left: 1px solid #ACACAC;
}
.nav ul li:first-child {
padding-left: 0;
}
.nav ul li a {
text-decoration:none;
padding:10px;
color:#fff;
}
.nav ul li a:hover {
text-decoration: underline;
}
و در بخش آخر:
به مرحله اصلی کار می رسیم، یعنی قرار دادن یک شرط جهت بررسی فاصله اسکرولر از بالا و تعریف یک کلاس جدید (با کمک دستور addClass) جهت استایل دهی به آن.
jQuery("document").ready(function($){
var nav = $('.nav-container');
$(window).scroll(function () {
if ($(this).scrollTop() > 186) {
nav.addClass("f-nav");
} else {
nav.removeClass("f-nav");
}
});
});
و کار تمام است.126992
amirahmady77
دوشنبه 08 دی 1393, 12:00 عصر
ممنون از پاسختون
ولی منظور من این بود که چه طوری منویی که ساختیم رو با css یا html فیکس کنیم یعنی منو با صفحه حرکت کنه امیدوارم منظورم رو فهمیده باشی
باتشکر
hosseinsh22
دوشنبه 08 دی 1393, 12:05 عصر
در این آموزش هم همین کارو انجام میده شما وقتی اسکرول تکون میدهی منو هم همراهش حرکت میکند من فایلش ضمینه کردم ی نگاهی بکنید.
javad salari
دوشنبه 08 دی 1393, 12:06 عصر
دوست عزیز
آقای hosseinsh22 (http://barnamenevis.org/member.php?281296-hosseinsh22)
خیلی کامل توضیح دادن حتی بیشتر از سوال شما
کافیه یک بار همین کد ها رو اجرا کنی متوجه خواهی شد
amirahmady77
دوشنبه 08 دی 1393, 12:15 عصر
من متوجه شدم منظور من فقط همین قسمتش بود position: fixed;
ولی li های منو به هم میریزه
arefd2010
دوشنبه 08 دی 1393, 12:17 عصر
سلام دوست عزیز شما به راحتی با نوشتن
position:fixed;
برای منوی خودتون می تونید اونرو فیکس کنید.
در ضمن تصویری از منوی خودتون که به هم ریخته رو بذارید تا ببینیم.
amirahmady77
دوشنبه 08 دی 1393, 12:19 عصر
ممنون از پاسختون ولی من این کارو می کنم ولی تمام منو به هم میریزه
مثلا:float
hosseinsh22
دوشنبه 08 دی 1393, 12:33 عصر
دوست عزیز لطفا کد قسمت منو را قرار دهید تا مشکل را برطرف کنیم .
amirahmady77
دوشنبه 08 دی 1393, 14:24 عصر
دوست عزیز لطفا کد قسمت منو را قرار دهید تا مشکل را برطرف کنیم .
لطفا فقط از css و html استفاده کنید باتشکر
<style>
#nav li{
display:inline-block;
font-family: arial;
width:19%;
background:#AAA;
height: 37px;
text-align:center;
line-height:37px;
margin-left:3px;
}
</style>
<body>
<div id="main-container">
<ul id="nav">
<li>Home</li>
<li>Gallery</li>
<li>Products</li>
<li>Contact us</li>
<li>About us</li>
</ul>
</div>
</body>
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.