kullanıcı.ayarlar . ASP + # İnsan bölümle" /> kullanıcı.ayarlar . ASP + # İnsan bölümle" />
SORU
28 EYLÜL 2009, PAZARTESİ


Değiştirme belgesi.konum:karma sayfa kaydırma yapmadan

Birkaç sayfa içerik yüklemek için ajax kullanarak aldık ve derin bir sayfasına bağlantı gerekir birkaç kez var. Bir bağlantı yerine "" ve tıklatın insanlara "ayarlar" yardım etmek için insanlarla bağlantı yapabilmek için . Kullanıcıların ^em>kullanıcı.ayarlar . ASP #

İnsan bölümleri (teknik destek için, vb.) için doğru bağlantıları sağlamak için izin vermek için Bir düğmeye tıklandığında otomatik olarak URL hash değiştirmek için set var. Tabii ki tek sorun bu durumda, aynı zamanda bu öğe için sayfayı kaydırır.

Bir şekilde bu devre dışı bırakmak için var mı? Şimdiye kadar bunu nasıl yaptığımı aşağıda.

$(function(){
    //This emulates a click on the correct button on page load
    if(document.location.hash){
     $("#buttons li a").removeClass('selected');
     s=$(document.location.hash).addClass('selected').attr("href").replace("javascript:","");
     eval(s);
    }

    //Click a button to change the hash
    $("#buttons li a").click(function(){
            $("#buttons li a").removeClass('selected');
            $(this).addClass('selected');
            document.location.hash=$(this).attr("id")
            //return false;
    });
});

return false; kaydırma sayfa keser - ama bağlantıyı hiç değil iş yapar diye umuyordum. Bu sadece gezinmek çok diye.

Herhangi bir fikir?

CEVAP
28 EYLÜL 2009, PAZARTESİ


Düğüm KİMLİĞİ etkisiz hale getirmek için Sana ihtiyacım var, karma olarak ayarlanana kadar. adım 1: Bu karma belirlenirken düğüm kapalı KİMLİĞİ çıkarma, ve sonra yeniden ekliyor.

hash = hash.replace( /^#/, '' );
var node = $( '#'   hash );
if ( node.length ) {
  node.attr( 'id', '' );
}
document.location.hash = hash;
if ( node.length ) {
  node.attr( 'id', hash );
}

2. adım: ID düğüm nereye dayalı kaydırma tetikleyecek Bazı tarayıcılar onlara biraz yardım etmek gerekir, bu yüzden en son ne zaman gördünüz. Görüş üstüne div ekstra eklemem gerekiyor, karma KİMLİĞİNİ ayarlayın ve sonra her şeyi geri roll:

hash = hash.replace( /^#/, '' );
var fx, node = $( '#'   hash );
if ( node.length ) {
  node.attr( 'id', '' );
  fx = $( '<div></div>' )
          .css({
              position:'absolute',
              visibility:'hidden',
              top: $(document).scrollTop()   'px'
          })
          .attr( 'id', hash )
          .appendTo( document.body );
}
document.location.hash = hash;
if ( node.length ) {
  fx.remove();
  node.attr( 'id', hash );
}

Adım 3: bir eklenti Sarın ve location.hash... ... yazmak yerine bunu kullanın

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HuskyStarcraft

    HuskyStarcra

    4 HAZİRAN 2009
  • pilslajt

    pilslajt

    20 HAZİRAN 2008
  • PlayStation

    PlayStation

    16 Aralık 2005