witam wszystkich,
mam mały problem (może nie mały).
cały wrzuciłem pod adres: http://entrybrand.com/php/demo.html i tyle mi się udało z poradnikami wydedukować. Całość to przeróbka mojego kodu + poradnikowego sposobu z angielskiego forum na ładowanie treści po kliknięciu.
strona demo.html sekcja body (buttony mają dodatkowy css ale nie o to się rozchodzi)
<body>
<div class="div-block">
<a href="#page1" class="w-button">page1</a>
<a href="#page2" class="w-button">page2</a>
<a href="#page3" class="w-button">page3</a>
</div>
<div id="pageContent"></div>
w tym samym katalogu plik load_page .php - pomocniczy stawiam, że wyłapuje.
<?php
if(!$_POST['page']) die("0");
$page = (int)$_POST['page'];
if(file_exists('pages/page_'.$page.'.html'))
echo file_get_contents('pages/page_'.$page.'.html');
else echo 'There is no such page!';
?>
do tego oczywiście script.js
var default_content="";
$(document).ready(function(){
checkURL();
$('ul li a').click(function (e){
checkURL(this.hash);
});
//filling in the default content
default_content = $('#pageContent').html();
setInterval("checkURL()",250);
});
var lasturl="";
function checkURL(hash)
{
if(!hash) hash=window.location.hash;
if(hash != lasturl)
{
lasturl=hash;
// FIX - if we've used the history buttons to return to the homepage,
// fill the pageContent with the default_content
if(hash=="")
$('#pageContent').html(default_content);
else
loadPage(hash);
}
}
function loadPage(url)
{
url=url.replace('#page','');
$('#loading').css('visibility','visible');
$.ajax({
type: "POST",
url: "load_page.php",
data: 'page='+url,
dataType: "html",
success: function(msg){
if(parseInt(msg)!=0)
{
$('#pageContent').html(msg);
$('#loading').css('visibility','hidden');
}
}
});
}
do tego istnieje w folderze plików kolejny folder pod nazwą "pages" gdzie są pliki kolejno page_1.html , page_2.html itp i wczytuje z nich treści do diva w demo.html.
MOJE PYTANIA I PROŚBY:
1. Jak zrobić by po starcie strony od razu włączał się page_1.html? (załóżmy, że to by była strona home)
2. Jak z adresu url ... /demo.html#page1
-usunąć # i najlepiej by adres od razu wyglądał np. nazwa.com/home a po kliknięciu np. na page2 ... nazwa.com/page2
3. jak w tej sytuacji dodać własne nazwy plików zamiast page (coś)?
4. Czy może jest jakiś lepszy, prostszy bądź poprawniejszy sposób, czy jakieś rozwiązanie? Ciężko mi się odnieść do google bo rzadko widać tutoriale z zmianą adresu i wczytywaniem z innego pliku treści.
Chciałbym zrobić taką strukturę tylko dla własnych podstron (nie o nazwie page) i by na wejściu ładowało się np.
entrybrand.com/home
po kliknięciu w button menu entrybrand.com/about
I wszystko bez przeładowań.
Dzięki za wszystkie odpowiedzi!