Yeniden bir div tutun

4 Cevap php

Temelde, ben oldschool HTML 'çerçeve' bence aynı etkiyi istiyorum.

Take a look at this page please: http://onomadesign.com/wordpress/identity-design/alteon-a-boeing-company/

Bir kullanıcı sanayi bir proje seçerse -> örneğin ulaşım, ben yeni proje sayfasına kadar geldiğinde sağ scrollmenu başlangıç ​​durumunu tutar isterim. Bu yüzden kayıp almak ve aynı alt bölümünde olması için yeniden tıklatın zorunda kalmazsınız.

Yani, sağ küçük gezinti aynı şekilde, ben yeniden istemiyorum kalmalıdır.

Ben kare veya iframe'ler ile bunu yapmak zorunda mı? Yoksa bu div 'yeniden değil' jQuery çağrısı çeşit yapabilir? Belki PHP? Üzgünüm, ben kökenli bir programcı değilim.

Update:

Beyler, ben sidebar.php denilen ayrı php dosyası içine bütün resim navigasyon kodu koymak başardı. Şimdi bu <?php get_sidebar(); ?> benim single.php (Wordpress) denilen alır.

Şimdi bu sidebar.php sayfayı yeniden yenile DEĞİL yapmak daha kolay olmalıdır? Ben kurabiye, php oturumları, iframe'ler bakarak oldum .. ama ben o iş için alınamıyor.

Başka bir yardım büyük mutluluk duyacağız!

4 Cevap

Facebook tür Optimizasyonu aşkına çerçeveler olmadan yapar. Desteklenen Onlar düzenini yeniden olmadan sayfa içeriğini yüklemek için AJAX kullanarak, her bir link almak ve.

Açıkçası, bu tür bir şey app internals önemli bir yeniden yapılanma gerekebilir. Başka bir seçenek sadece bağlantı tıklama bir çerez olarak menünün durumunu saklamak (jQuery Cookie plugin) ve her yeniden yüklemede ya Javascript çerez bakmak ve dinamik olarak doğru durumuna menüyü geri yüklemek, ya da olduğunu çerez okumak ve görüntülemek için hangi menü karar iç PHP kullanabilirsiniz.

Eğer gerçekten umutsuz olsun Ama, çerçevelerin geri düşen sona erebilir. Bazen bu tamam olabilir - ama her şey ilk :) deneyin

Ayrıca aktive ne menü öğesi algılamak (nedeniyle ilgili bağlantıyı tıklayarak için sayfa isteği var) ve bu menü öğesini seçmek / geri yüklemek için bu bilgileri kullanabilirsiniz.

En azından ben ne olduğunu ve ... Hiçbir kurabiye veya AJAX gerekli!

Siz "AHAH" Asynchronous HTML ve HTTP gibi bilinen bir tekniği kullanabilirsiniz. Esasen bir jQuery yapıyoruz

$.post("whatever.html",function(data) {
       $("contentdivelement").html(data);
} 

Sen gibi bir işlevi bu kaydırabilirsiniz:

updateContent(sPage) {
   $.post(sPage,function(data) {
       $("contentdivelement").html(data);
} 
}

Bu sayfayı yeniden olmadan div içine "çerçeve" sayfasından içeriği yükleyecektir.

Ayrıca gezinme bağlantılarının her birine bağlamak ve bu gibi içerik div yüklemek için yol olarak HREF kullanabilirsiniz:

$(".menuLink").click(function() {
   var menuLink = $(this).attr('href');

   updateContent(menuLink);

   /* prevents the browser from taking the parent to that link */
   return false;

});

ADDITION: Your menu may look like this:

<ul class="myMenu">
   <li><a href="frame1.html" class="menuLink">Frame 1</a></li>
   <li><a href="frame2.html" class="menuLink">Frame 2</a></li>
</ul>

Also, If you want it to remember the page you're on you can use cookies or #anchors. There are many ways to add "tab" or "menu" anchors but one way would just be to use a jQuery plugin.

Bunu yapmak için en yaygın ve şık bir şekilde # çapa kullanmaktır. Sayfa yenilendiğinde veya yeniden olduğunda sonuna tarayıcınızın adres çubuğu ass # Frame1 yüzden bazı ek kod ile otomatik olarak "Frame1" yükleyecektir.

Hatta çapa # / frame1.html adlandırılan ve demir okuyabilirsiniz

$(document).ready(function() {
   /* you'll need to either use a plugin or parse out the anchor from your current browser address bar */
   updateContent(anchorContentVar);
});

Bunun yerine tıklama-işleyicileri kullanarak içeriğini güncelleyerek ben biraz farklı bir yaklaşım göstermektedir. Sadece link bu tür ile köprüler değiştirin:

 #info_page

Şimdi geçerli URL okur ve buna göre DIV güncelleştiren basit bir aralığını ayarlayın:

__LOC = document.location.href;
 setInterval(function(){
 if (__LOC!=document.location.href) __LOC=document.location.href;
  var fetchURL = __LOC.split("#")[1];
  $.get( "/getcontent/"+fetchURL, function(d){ $("#mydiv").html( d ); } )
 } 1000);

Bu ziyaretçiler de yer imlerini kullanmanıza olanak sağlar.