2015-10-13 2 views
-1

Я работаю на прокручиваемом веб-сайте с одной страницей, в котором каждый div представляет собой другой раздел. Например, url - dynaone.com/index.php, и когда я нажимаю на различные кнопки меню, он изменяется на /index.php#s1, # s2, # s3 и т. Д. В разделе nº 2 я добавил другое меню, которое работает с php GET, таким образом, что при нажатии на одну из кнопок он перенаправляет вас на index.php? Id = 1 и т. Д. Конечно, когда я впервые попробовал это, он прокрутил меня назад к верхней части страницы, «домой», поскольку я не указывал раздел. Но когда я это сделал, назначив «index.php? Id = 1 # s2» первому элементу во внутреннем меню, он перенаправил меня в раздел 1. Не имеет значения, какое число я пишу после «#s», это будет сохраните раздел nº 1 вверху страницы.
Я использую демонстрацию SMINT в качестве базы, настраивая ее на потребности моего веб-сайта, но я не мог найти ничего, связанного с проблемами метода GET на странице плагина. я бы очень признателен за помощь в этом, так как это очень раздражает, чтобы вернуться назад каждый раз, когда я нажимаю, чтобы правильно просматривать разделе Nº 2.

Это часть моего внутреннего меню:# Якорь не работает с php "id"

 <div id="botonera_productos"><ul> 
     <li><a href="index.php?id=1#s2"> Quemadores</a> </li> 
     <li><a href="index.php?id=2#s2"> BCAAs</a></li> </ul> </div> 

Это мой PHP раздел:

if(@$_GET['id']==1) { 
       ?> 

       <figure><img src="imagenes/quemadores/1.jpg"><figcaption> ULTIMATE L-CARNITINA 500 60 TABS - <b>$330</b> </figcaption></figure> 
<?php } ?> 

И это главное меню сайта:

<nav class="subMenu" > 
    <div class="inner"> 
     <a href="#sTop" class="subNavBtn">Home</a> 
     <a href="#s1" class="subNavBtn">Nosotros</a> 
     <a href="#s2" class="subNavBtn">Productos</a> 
     <a href="#s3" class="subNavBtn">Local</a> 
     <a href="#s4" class="subNavBtn">Envíos</a> 
     <a href="#s5" class="subNavBtn">Consultas</a> 
     <a href="https://www.facebook.com/dynaone" class="subNavBtn extLink end" target="_blank">Facebook</a> 
    </div> 
</nav> 

Спасибо.

+2

Все, что после '#' не отправляется на PHP. –

+0

@JohnConde Спасибо за ваш ответ. Итак, есть ли способ сделать то, что я хочу сделать, и избежать этой проблемы? – patamfreti

+0

yup, jsut не использовать их –

ответ

0

вопрос не очень понятно, но в основном:

Якорь представляет собой HTML-конструкт. Поэтому, как только страница уже загружена, вы можете использовать #whatever, чтобы доставить вас туда, где на этой странице был определен якорь; ala <a id="whatever">

Аргументы PHP, такие как ?id=1 - новая страница будет загружена в зависимости от того, что вы используете здесь.

Вы можете использовать якоря в сочетании со страницей PHP (например, страница PHP может иметь несколько привязок), но вы не можете загружать новую страницу только с помощью якорей.

Возможно, Javascript поможет вам достичь того, что вы хотите сделать. При вызовах AJAX и т. Д. Существует гораздо меньше ограничений на то, как вы загружаете данные.

+0

Большое спасибо за объяснение, я получаю его сейчас. Можете ли вы объяснить мне, как использовать AJAX в этом случае? Я новичок в этой теме, и я никогда не использовал ее. – patamfreti

+0

Возможно, это не обязательно, но если вы будете использовать AJAX, вы действительно можете сделать его одним веб-сайтом. Например, вместо того, чтобы иметь '? Id = 1','? Id = 2' и т. Д., Вы можете просто использовать его, чтобы при нажатии определенной кнопки данные на странице перезагружались, но сама страница НЕ перезагружается. – b85411

+0

это было бы здорово! Думаю, мне просто нужно научиться использовать его – patamfreti

Смежные вопросы