Цитата:
Я пока еще молчу про функцию change. |
Цитата:
var hash = window.location.hash.substring(1);
var map = {
video: 1,
music: 2,
games: 3,
converse: 4,
portal: 5,
services: 6,
books: 7,
vkchat: 8
};
if (hash in map) {
change(map[hash]);
А вобще - херня это все. Почему бы не дать айдишники блокам и не париться? Гемор себе на жопу ищете.. |
Ruslan_xDD,
Боже ребята , это просто прелесть... неужели это так просто... Всё учу JS, (просто как-то не очень нужно было) Всем спасибо.. |
Цитата:
Цитата:
Вообще, если делать по человечески, то делать не через якорь. http://site.com/?section=music
change('<?=htmlspecialchars($_GET['section'])?>');
А при клике на блок менять адрес: <div class="blocks"> <div id="music">Музыка</div> <div id="portal">Портал</div> </div>
$('.blocks > div').click(function()
{
history.pushState(0, 0, '/?'+$(this).attr('id'));
});
|
Цитата:
|
Цитата:
|
Цитата:
В случае с якорем страница одна. А учитывая существование IE то нам так и или иначе придется делать якорную навигацию. Цитата:
|
danik.js, ну можно сделать нормальные отдельные страницы и если поддерживается history API, то аяксом выдёргивать содержимое страницы, а если не поддерживается, то переходить по этой ссылке. Например:
$('a').click(function()
{
var a = $(this).attr('href');
if(!!(window.history && history.pushState && a))
{
$('body').load(a+' body');
history.pushState(0, 0, a);
return false;
}
else document.location = a;
});
|
Ruslan_xDD, это уже совсем другая песня.
Несколько вопросов по коду: 1) зачем двойное отрицание в условии 2) зачем проверка window.history 3) зачем вешать обработчик в случае когда нету history.pushState 4) какой профит в подгрузке страницы целиком? 5) че за нули в вызове pushState? |
Цитата:
Цитата:
Цитата:
Цитата:
|
| Часовой пояс GMT +3, время: 18:22. |