Для вашего комментария:
Я пришел к этому: jsfiddle.net/yw5xad79/1, но, как вы видите, навигация не фиксируется наверху, как этого добиться? / blockquote>
Вам просто нужно добавить немного CSS, чтобы держать его на вершине:
nav { position: fixed !important; width: 100%; }
<!-- Font Awesome --> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.0/css/all.css"> <!-- Bootstrap core CSS --> <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet"> <!-- Material Design Bootstrap --> <link href="https://cdnjs.cloudflare.com/ajax/libs/mdbootstrap/4.7.5/css/mdb.min.css" rel="stylesheet"> <!-- JQuery --> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <!-- Bootstrap tooltips --> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.4/umd/popper.min.js"></script> <!-- Bootstrap core JavaScript --> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script> <!-- MDB core JavaScript --> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mdbootstrap/4.7.5/js/mdb.min.js"></script> <!--Navbar --> <nav class="mb-1 navbar navbar-expand-lg navbar-dark info-color"> <a class="navbar-brand" href="#">Navbar</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent-4" aria-controls="navbarSupportedContent-4" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSupportedContent-4"> <ul class="navbar-nav ml-auto"> <li class="nav-item active"> <a class="nav-link" href="#"> <i class="fab fa-facebook-f"></i> Facebook <span class="sr-only">(current)</span> </a> </li> <li class="nav-item"> <a class="nav-link" href="#"> <i class="fab fa-instagram"></i> Instagram</a> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" id="navbarDropdownMenuLink-4" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="fas fa-user"></i> Profile </a> <div class="dropdown-menu dropdown-menu-right dropdown-info" aria-labelledby="navbarDropdownMenuLink-4"> <a class="dropdown-item" href="#">My account</a> <a class="dropdown-item" href="#">Log out</a> </div> </li> </ul> </div> </nav> <!--/.Navbar --> <ul> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> <li>Make page longer to create scrollbar</li> </ul>
Четыре быстрых вещи:
Войдите в список рассылки CFCDev (или группы Google, как это теперь).
PDF Шаблоны разработки в презентации CFML Sean Corfield является хорошим быстрым чтением.
http://www.cfdesignpatterns.com имеет некоторый хороший материал со ссылками на качество статьи дизайна CFC.
Статья о шаблонах разработки в CFML на Грабит Блог Ручьев-Bilson's.
До использования ColdBox Framework я не видел ни одного сообщения об использовании Momentos для захвата свойства в тот момент; однако теперь все мои bean-компоненты имеют метод getMomento () и setMomento (). Я бы рекомендовал это в качестве наилучшей практики для всех, кому необходимо передать информацию из компонента в другой объект DAO.
В моих тестах получение импульса происходит намного быстрее, чем передача компонента и получение свойств. Вот пример:
<cfcomponent name="userBean" output="true" hint="The account bean holds getter/setter information for a user's account.">
<cfproperty name="idUser" required="true" type="string" rules="noZeroLengthString,validEmail" invalidMessage="failed_data_validation_email" hint="Key matching the 'accounts' table.">
<cfproperty name="loginEmail" required="true" type="string" rules="noZeroLengthString,validEmail" invalidMessage="failed_data_validation_email" hint="E-mail address.">
<cfproperty name="password" required="true" type="string" rules="noZeroLengthString,validPassword" invalidMessage="failed_data_validation_password" hint="Password stored in a SHA-512 hash.">
<cffunction name="init" output="false" returntype="userBean" hint="Initalizes the userBean with default values.">
<cfset variables.instance = structNew()>
<cfset variables.instance.IDUser = 0>
<cfset variables.instance.loginEmail = "">
<cfset variables.instance.password = "">
<cfreturn this>
</cffunction>
<!--- SET LOGIN --->
<cffunction name="setLoginEmail" access="public" returntype="void" output="false">
<cfargument name="email" type="string" required="true" />
<cfset variables.instance.loginEmail = trim(arguments.email) />
</cffunction>
<cffunction name="getLoginEmail" access="public" returntype="string" output="false">
<cfreturn variables.instance.loginEmail />
</cffunction>
<!--- ID --->
<cffunction name="setIDUser" access="public" returntype="void" output="false">
<cfargument name="id" type="numeric" required="true" />
<cfset variables.instance.IDUser = arguments.id />
</cffunction>
<cffunction name="getIDUser" access="public" returntype="numeric" output="false">
<cfreturn variables.instance.IDUser />
</cffunction>
<!--- PASSWORD --->
<cffunction name="setPassword" access="public" returntype="void" output="false">
<cfargument name="password" type="string" required="true" />
<cfset var pw = arguments.password>
<cfif len(pw) EQ 0>
<cfset variables.instance.password = "">
<cfelse>
<!---><cfset variables.instance.password = hash(arguments.password, "SHA-512") />--->
<cfset variables.instance.password = arguments.password>
</cfif>
</cffunction>
<cffunction name="getPassword" access="public" returntype="string" output="false">
<cfreturn variables.instance.password />
</cffunction>
<!--- MOMENTO --->
<cffunction name="setMomento" access="public" returntype="void" output="false">
<cfargument name="momento" type="struct" required="true" />
<cfset variables.instance = arguments.momento>
</cffunction>
<cffunction name="getMomento" access="public" returntype="struct" output="false">
<cfreturn variables.instance />
</cffunction>
Приветствия,
Аарон Гринли Мой сайт