Цитата:
Я пока еще молчу про функцию 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, время: 14:11. |