آموزش پلاگین Scrollspy در بوت استرپ
آموزش پلاگین Scrollspy در بوت استرپ
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش پلاگین Scrollspy در بوت استرپ خواهیم پرداخت.
پلاگین Scrollspy (به روزرسانی خودکار nav) به شما امکان می دهد بر اساس موقعیت پیمایش، بخشهایی از صفحه را هدف قرار دهید. در اجرای اصلی آن، همانطور که پیمایش می کنید، می توانید کلاسهای active. را بر اساس موقعیت پیمایش به نوار navbar اضافه کنید.
اگر می خواهید این قابلیت پلاگین را به صورت جداگانه وارد کنید ، به scrollspy.js نیاز خواهید داشت. در غیر این صورت ، همانطور که در فصل بررسی اجمالی افزونه های بوت استرپ ذکر شده است ، می توانید bootstrap.js یا minst bootstrap.min.js را در آن بگنجانید.
موارد استفاده
شما می توانید رفتار scrollspy را به ناوبری بالای صفحه خود اضافه کنید –
از طریق مشخصه های data-spy = “scroll”را به عنصری که می خواهید از آن جاسوسی کنید اضافه کنید. سپس ویژگی ID-target را با شناسه یا کلاس عنصر والد هر مولفه nav. بوت استرپ اضافه کنید. برای کار کردن، شما باید در بدنه صفحه عناصری داشته باشید که دارای شناسه های منطبق بر پیوندهای مورد جاسوسی شما باشند.
1 2 3 4 5 6 7 8 9 |
<body data-spy = "scroll" data-target = ".navbar-example"> ... <div class = "navbar-example"> <ul class = "nav nav-tabs"> ... </ul> </div> ... </body> |
می توانید به جای استفاده از مشخصه های داده ، scrollspy را با جاوا اسکریپت فراخوانی کنید با انتخاب عنصری برای جاسوسی و سپس فراخوانی تابع ()scrollspy.
1 |
$('body').scrollspy({ target: '.navbar-example' }) |
مثال
مثال زیر استفاده از افزونه scrollspy از طریق ویژگی های داده را نشان می دهد –
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
<nav id = "navbar-example" class = "navbar navbar-default navbar-static" role = "navigation"> <div class = "navbar-header"> <button class = "navbar-toggle" type = "button" data-toggle = "collapse" data-target = ".bs-js-navbar-scrollspy"> <span class = "sr-only">Toggle navigation</span> <span class = "icon-bar"></span> <span class = "icon-bar"></span> <span class = "icon-bar"></span> </button> <a class = "navbar-brand" href = "#">Tutorial Name</a> </div> <div class = "collapse navbar-collapse bs-js-navbar-scrollspy"> <ul class = "nav navbar-nav"> <li><a href = "#ios">iOS</a></li> <li><a href = "#svn">SVN</a></li> <li class = "dropdown"> <a href = "#" id = "navbarDrop1" class = "dropdown-toggle" data-toggle = "dropdown"> Java <b class = "caret"></b> </a> <ul class = "dropdown-menu" role = "menu" aria-labelledby = "navbarDrop1"> <li><a href = "#jmeter" tabindex = "-1">jmeter</a></li> <li><a href = "#ejb" tabindex = "-1">ejb</a></li> <li class = "divider"></li> <li><a href = "#spring" tabindex = "-1">spring</a></li> </ul> </li> </ul> </div> </nav> <div data-spy = "scroll" data-target = "#navbar-example" data-offset = "0" style = "height:200px; overflow:auto; position: relative;"> <h4 id = "ios">iOS</h4> <p>iOS is a mobile operating system developed and distributed by Apple Inc. Originally released in 2007 for the iPhone, iPod Touch, and Apple TV. iOS is derived from OS X, with which it shares the Darwin foundation. iOS is Apple's mobile version of the OS X operating system used on Apple computers.</p> <h4 id = "svn">SVN</h4> <p>Apache Subversion which is often abbreviated as SVN, is a software versioning and revision control system distributed under an open source license. Subversion was created by CollabNet Inc. in 2000, but now it is developed as a project of the Apache Software Foundation, and as such is part of a rich community of developers and users.</p> <h4 id = "jmeter">jMeter</h4> <p>jMeter is an Open Source testing software. It is 100% pure Java application for load and performance testing.</p> <h4 id = "ejb">EJB</h4> <p>Enterprise Java Beans (EJB) is a development architecture for building highly scalable and robust enterprise level applications to be deployed on J2EE compliant Application Server such as JBOSS, Web Logic etc.</p> <h4 id = "spring">Spring</h4> <p>Spring framework is an open source Java platform that provides comprehensive infrastructure support for developing robust Java applications very easily and very rapidly.</p> <p>Spring framework was initially written by Rod Johnson and was first released under the Apache 2.0 license in June 2003.</p> </div> |
گزینه ها
گزینه ها می توانند از طریق ویژگی های داده یا جاوا اسکریپت منتقل شوند. جدول زیر گزینه ها را لیست می کند –
نام گزینه | مقدار | نام ویژگی داده | توضیح |
---|---|---|---|
offset | number Default: 10 | data-offset | پیکسل برای جبران کردن از بالا هنگام محاسبه موقعیت پیمایش. |
متد ها
.scrollspy(‘refresh’)– هنگام فراخوانی scrollspy از طریق متد جاوا اسکریپت، برای به روزرسانی DOM باید با روش refresh. فراخوانی شود. اگر عناصر DOM تغییر کرده باشند ، به عنوان مثال اگر برخی از عناصر را اضافه یا حذف کرده باشید ، این مفید است. دستور زیر استفاده از این روش است.
1 2 3 |
$('[data-spy = "scroll"]').each(function () { var $spy = $(this).scrollspy('refresh') }) |
مثال
مثال زیر استفاده از روش scrollspy(‘refresh’). را نشان می دهد –
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
<nav id = "myScrollspy" class = "navbar navbar-default navbar-static" role = "navigation"> <div class = "navbar-header"> <button class = "navbar-toggle" type = "button" data-toggle = "collapse" data-target = ".bs-js-navbar-scrollspy"> <span class = "sr-only">Toggle navigation</span> <span class = "icon-bar"></span> <span class = "icon-bar"></span> <span class = "icon-bar"></span> </button> <a class = "navbar-brand" href = "#">Tutorial Name</a> </div> <div class = "collapse navbar-collapse bs-js-navbar-scrollspy"> <ul class = "nav navbar-nav"> <li class = "active"><a href = "#ios">iOS</a></li> <li><a href = "#svn">SVN</a></li> <li class = "dropdown"> <a href = "#" id = "navbarDrop1" class = "dropdown-toggle" data-toggle = "dropdown"> Java <b class = "caret"></b> </a> <ul class = "dropdown-menu" role = "menu" aria-labelledby = "navbarDrop1"> <li><a href = "#jmeter" tabindex = "-1">jmeter</a></li> <li><a href = "#ejb" tabindex = "-1">ejb</a></li> <li class = "divider"></li> <li><a href = "#spring" tabindex = "-1">spring</a></li> </ul> </li> </ul> </div> </nav> <div data-spy = "scroll" data-target = "#myScrollspy" data-offset = "0" style = "height:200px; overflow:auto; position: relative;"> <div class = "section"> <h4 id = "ios">iOS<small><a href = "#" onclick = "removeSection(this);"> &times; Remove this section</a></small> </h4> <p>iOS is a mobile operating system developed and distributed by Apple Inc. Originally released in 2007 for the iPhone, iPod Touch, and Apple TV. iOS is derived from OS X, with which it shares the Darwin foundation. iOS is Apple's mobile version of the OS X operating system used on Apple computers.</p> </div> <div class = "section"> <h4 id = "svn">SVN<small></small></h4> <p>Apache Subversion which is often abbreviated as SVN, is a software versioning and revision control system distributed under an open source license. Subversion was created by CollabNet Inc. in 2000, but now it is developed as a project of the Apache Software Foundation, and as such is part of a rich community of developers and users.</p> </div> <div class = "section"> <h4 id = "jmeter">jMeter<small><a href = "#" onclick = "removeSection(this);"> &times; Remove this section</a></small> </h4> <p>jMeter is an Open Source testing software. It is 100% pure Java application for load and performance testing.</p> </div> <div class = "section"> <h4 id = "ejb">EJB</h4> <p>Enterprise Java Beans (EJB) is a development architecture for building highly scalable and robust enterprise level applications to be deployed on J2EE compliant Application Server such as JBOSS, Web Logic etc.</p> </div> <div class = "section"> <h4 id = "spring">Spring</h4> <p>Spring framework is an open source Java platform that provides comprehensive infrastructure support for developing robust Java applications very easily and very rapidly.</p> <p>Spring framework was initially written by Rod Johnson and was first released under the Apache 2.0 license in June 2003.</p> </div> </div> <script type = "text/javascript"> $(function(){ removeSection = function(e) { $(e).parents(".section").remove(); $('[data-spy = "scroll"]').each(function () { var $spy = $(this).scrollspy('refresh') }); } $("#myScrollspy").scrollspy(); }); </script> |
رویداد ها
جدول زیر رویدادهای کار با scrollspy را لیست می کند. این رویداد ممکن است برای اتصال به تابع استفاده شود.
رویداد | توضیح | مثال | ||||
---|---|---|---|---|---|---|
activate.bs.scrollspy | این رویداد هر زمان که مورد جدیدی توسط scrollspy فعال می شود، فعال می گیرد. |
|
مثال
مثال زیر استفاده از رویداد activ.bs.scrollspy را نشان می دهد –
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 |
<html> <head> <link rel = "stylesheet" href = "bootstrap/css/bootstrap.min.css"> <script src = "bootstrap/scripts/jquery.min.js"></script> <script src = "bootstrap/js/bootstrap.min.js"></script> <script> $(document).ready(function(){ removeSection = function(e) { $(e).parents(".subject").remove(); $('[data-spy="scroll"]').each(function () { var $spy = $(this).scrollspy('refresh') }); } $("#Navexample").scrollspy(); // The event is fired when an item gets actived with the scrollspy $("#Navexample").on('activate.bs.scrollspy', function () { var currentSection = $(".nav li.active > a").text(); $("#spyevent").html("Current Item being viewed >> " + currentSection); }) }); </script> <style> .scroll-box { height: 250px; position: relative; overflow: auto; font-size:2em; } </style> </head> <body> <div class = "container"> <nav id = "Navexample" class = "navbar navbar-default" role = "navigation"> <!-- Nav Bar --> <div class = "navbar-header"> <button type = "button" class = "navbar-toggle" data-toggle = "collapse" data-target = "#navbarCollapse"> <span class = "sr-only">Toggle navigation</span> <span class = "icon-bar"></span> <span class = "icon-bar"></span> <span class = "icon-bar"></span> </button> <a class = "navbar-brand" href = "#">Tutorials Point</a> </div> <!-- Links and Sublinks --> <div class = "collapse navbar-collapse" id = "navbarCollapse"> <ul class = "nav navbar-nav"> <li class = "active"><a href = "#subject-1">Subject 1</a></li> <li><a href = "#subject-2">Subject 2</a></li> <li class = "dropdown"><a href = "#" class = "dropdown-toggle" data-toggle = "dropdown">Subject 3<b class = "caret"></b></a> <ul class = "dropdown-menu"> <li><a href = "#subject-3-1">Subject 3.1</a></li> <li><a href = "#subject-3-2">Subject 3.2</a></li> <li><a href = "#subject-3-3">Subject 3.3</a></li> </ul> </li> <li><a href = "#subject-4">Subject 4</a></li> </ul> </div> </nav> <div class = "scroll-box" data-spy = "scroll" data-offset = "0"> <div class = "subject"> <h3 id = "subject-1">Subject 1 <small><a href = "#" onclick = "removeSubject(this);">Remove Subject ×</a></small> </h3> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p> </div> <hr> <div class = "subject"> <h3 id = "subject-2">Subject 2 <small><a href = "#" onclick = "removeSubject(this);">Remove Subject ×</a></small> </h3> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p> </div> <hr> <div class = "subject"> <h3 id = "subject-3">Subject 3 <small><a href = "#" onclick = "removeSubject(this);"> Remove Subject ×</a></small> </h3> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>< </div> <hr> <div class = "subject"> <h4 id = "subject-3-1">Subject 3.1 <small><a href = "#" onclick = "removeSubject(this);"> Remove Subject ×</a></small> </h4> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p> </div> <div class = "subject"> <h4 id = "subject-3-2">Subject 3.2 <small><a href = "#" onclick = "removeSubject(this);"> Remove Subject ×</a></small> </h4> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p> </div> <div class = "subject"> <h4 id = "subject-3-3">Subject 3.3 <small><a href = "#" onclick = "removeSubject(this);">Remove Subject ×</a></small> </h4> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p> </div> <hr> <div class = "subject"> <h3 id = "subject-4">Subject 4 <small><a href = "#" onclick = "removeSubject(this);">Remove Subject ×</a></small> </h3> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p> </div> </div> <hr> <h4 id = "spyevent" class = "text-info"></h4> </div> </body> </html> |
لیست جلسات قبل آموزش بوت استرپ
- آموزش بوت استرپ
- بررسی اجمالی بوت استرپ
- آموزش راه اندازی بوت استرپ
- آموزش سیستم شبکه در بوت استرپ
- بررسی اجمالی CSS در بوت استرپ
- آموزش تایپوگرافی در بوت استرپ
- آموزش کد در بوت استرپ
- آموزش جدول در بوت استرپ
- آموزش فرم ها در بوت استرپ
- آموزش دکمه ها در بوت استرپ
- آموزش تصاویر در بوت استرپ
- آموزش کلاس های کمکی در بوت استرپ
- آموزش ابزارهای پاسخگو در بوت استرپ
- آموزش Glyphicons در بوت استرپ
- آموزش منوهای کشویی در بوت استرپ
- آموزش گروه های دکمه ای در بوت استرپ
- آموزش گروه های ورودی در بوت استرپ
- آموزش عناصر ناوبری در بوت استرپ
- آموزش Navbar در بوت استرپ
- آموزش Breadcrumbs در بوت استرپ
- آموزش صفحه بندی در بوت استرپ
- آموزش لیبل ها در بوت استرپ
- آموزش بج ها در بوت استرپ
- آموزش Jumbotron در بوت استرپ
- آموزش تصاویر کوچک در بوت استرپ
- آموزش هشدارها در بوت استرپ
- آموزش نوارهای پیشرفت در بوت استرپ
- آموزش شی Media در بوت استرپ
- آموزش گروه لیست در بوت استرپ
- آموزش پانل ها در بوت استرپ
- آموزش well در بوت استرپ
- بررسی اجمالی پلاگین ها در بوت استرپ
- آموزش پلاگین انتقال در بوت استرپ
- آموزش پلاگین Modal در بوت استرپ
- آموزش پلاگین Dropdown در بوت استرپ
دیدگاه شما