#javascript #html #jquery #hyperlink #nav
#javascript #HTML #jquery #гиперссылка #навигация
Вопрос:
Я создаю шаблон одной страницы. Я решил добавить вторую страницу, которая отражает главную страницу. Мне пришлось изменить код ссылки на панели навигации, чтобы указывать на различные разделы главных страниц (Т. Е.: вместо просто #about
, я сделал это index.html#about
). Однако эти ссылки не работают. Если я использую «inspect» в Chrome и ctrl щелчок по ссылке в коде, это сработает, поэтому я думаю, что что-то в CSS мешает этому разделу фактически щелкнуть ссылку.
Страница с проблемами www.homexphoto.ca/pricing.html
Навигационный HTML-код
<div class="sidebarnav hidden-sm hidden-xs">
<div class="logo">
<a href="index.html"><img id="topleftlogo" src="images/transparentlogowhite.png"> Home Expressions <br><em>Photography</em></a>
</div>
<nav>
<ul>
<li>
<a href="index.html">
<span class="rect"></span>
<span class="circle"></span>
Home
</a>
</li>
<li>
<a href="index.html#services">
<span class="rect"></span>
<span class="circle"></span>
Services
</a>
</li>
<li>
<a href="index.html#pricing">
<span class="rect"></span>
<span class="circle"></span>
Pricing
</a>
</li>
<li>
<a href="index.html#portfolio">
<span class="rect"></span>
<span class="circle"></span>
Portfolio
</a>
</li>
<li>
<a href="index.html#about">
<span class="rect"></span>
<span class="circle"></span>
About
</a>
</li>
<li>
<a href="index.html#contact">
<span class="rect"></span>
<span class="circle"></span>
Contact Us
</a>
</li>
</ul>
</nav>
Навигационный CSS
/* Sidebar navigation secondary pages */
.sidebarnav {
width: 22%;
float: left;
height: 100%;
position: fixed;
background-color: rgba(12,12,12,0.9);
z-index: 10;
}
.sidebarnav .logo {
position: absolute;
width: 100%;
height: 140px;
line-height: 26px;
background-color: #585858;
padding: 20px;
text-align: center;
}
.sidebarnav .logo a {
text-decoration: none;
color: #fff;
font-size: 16px;
font-weight: 525;
text-transform: uppercase;
letter-spacing: 0.5px;
height: 100px;
width: 100%;
display: inline-block;
border: 1px solid rgba(250,250,250,0.5);
border-radius: 15px;
padding: 9px 2px 0px 2px;
}
.sidebarnav .logo em {
font-style: normal;
font-weight: 300;
}
.sidebarnav nav {
position: relative;
top: 60%;
left: 60%;
-webkit-transform: translateX(-60%) translateY(-60%);
-moz-transform: translateX(-60%) translateY(-60%);
-ms-transform: translateX(-60%) translateY(-60%);
-o-transform: translateX(-60%) translateY(-60%);
transform: translateX(-60%) translateY(-60%);
}
.sidebarnav ul {
margin-left: 45px;
list-style: none;
padding: 0;
}
.sidebarnav li{
padding: 10px 0;
}
.sidebarnav span{
display: inline-block;
position: relative;
}
.sidebarnav nav a{
display: inline-block;
color: #fff;
margin-top: 5px;
text-decoration: none!important;
font-size: 15px;
letter-spacing: 0.5px;
text-transform: capitalize;
}
.sidebarnav nav a:focus {
color: #fff;
}
.sidebarnav nav a:hover, nav .active-section {
color: #fff;
}
.sidebarnav nav a:hover span, nav .active-section span{
background-color: #ddd;
}
.sidebarnav nav .active-section .rect{
width: 30px;
}
.sidebarnav nav .active-section .circle{
background-color: #fff;
}
.sidebarnav .social-icons {
position: absolute;
width: 100%;
bottom: 10px;
padding: 0;
margin: 0;
text-align: center;
}
.sidebarnav .social-icons li {
display: inline-block;
margin-right: 15px;
margin-top: 0px;
margin-bottom: 0px;
}
.sidebarnav .social-icons li:last-child {
margin-right: 0px;
}
.sidebarnav .social-icons li a {
font-size: 18px;
color: #fff;
transition: all 0.5s;
}
.sidebarnav .social-icons li a:hover {
color: #45489a;
}
Я упускаю что-то простое здесь? Шаблон, который я использую, также имеет Javascript, который я стараюсь не трогать, поскольку у меня еще нет навыков. Я надеюсь, что это как-то не блокирует это.
Приветствия
РЕДАКТИРОВАТЬ — если я щелкаю правой кнопкой мыши по навигационным ссылкам на боковой панели и «открываю в новой вкладке», они работают! Но один щелчок кажется отключенным?
Комментарии:
1. Вы должны использовать CTRL M внутри функции на странице редактирования. позвольте нам найти вашу проблему.
Ответ №1:
Когда я щелкаю правой кнопкой мыши и выбираю «открыть ссылку в новом окне», все работает как ожидалось, открывается новая страница, поэтому ссылки правильные.
Я подозреваю, что существует некоторый javascript, который содержит «preventDefault ()» для ссылок, чтобы выполнить анимацию прокрутки или что-то подобное.
На самом деле, это, похоже, шаблон для одностраничника — ссылки действительно работают (с использованием анимированной прокрутки) на index.html
странице…
Итак, взгляните на файлы JS и найдите «preventDefault»…
Дополнение после комментариев: этот фрагмент кода помог мне решить аналогичную проблему некоторое время назад:
jQuery(function ($) {
$(document).ready(function() {
if(window.location.hash) {
var hash = window.location.hash;
$( 'a[href=' hash ']' ).click();
}
});
});
Комментарии:
1. Спасибо, Йоханнес, я это сделаю. Никогда раньше не работал с JS, но вы правы. Это шаблон с одним пейджером.
2.
$('#nav-toggle').on('click', function (event) { event.preventDefault(); $('#main-nav').toggleClass("open"); });
Нашел это3. итак, проблема в том, что вы хотите (?) эту анимацию для ссылок на одной странице, но вам нужно, чтобы ссылки регулярно работали при обращении к другим страницам…
4. Да, мне не нужна анимация ссылок для дополнительных страниц, я просто пытаюсь сохранить тот же внешний вид, но просто возвращаюсь к обычной навигационной панели, которая работает правильно.
5. Я добавил немного кода jQuery к своему ответу, надеюсь, это поможет…