2011-08-30 21 views
2

私はJscrollpaneを使用していますが、内部のアンカーで使用しようとする場合を除いて、すべてがうまくいきます。 公式ページの例のように動作するはずです。Jscrollpaneと内部アンカーリンク

私の例では、実際に私のサイトを破壊しています。内容全体が上に浮かんでいて、私は自分自身でそれを理解することはできません。ここで

は私のページです:http://kunden.kunstrasen.at/htmltriest/index.php?site=dieanreise&user_lang=de と内側アンカーがクリックされた場合:http://kunden.kunstrasen.at/htmltriest/index.php?site=dieanreise&user_lang=de#westautobahn

誰もA CLOUここで起こっていただきましたか!? ご協力いただきありがとうございます。

答えて

1

jspaneは古いスタイルのアンカーでは機能しません あなたは

<a id="anchor"></a> 

を書くことadditionalyあなたがJScrollPaneの設定オブジェクトに

hijackInternalLinks: true; 

を有効にする必要がありますしている代わりに

<a name="anchor"></a> 

  \$(document).ready(function() { 
      panes = \$(".scroll"); 
      //hijackInternalLinks: true; 
      panes.jScrollPane({ 
      }); 
      panes.each(function(i,obj){ 
       var pane = \$(obj); 
       var api = pane.data('jsp'); 
       var links = pane.find("a"); 
       links.bind('click', function() { 
        var uriParts = this.href.split('#'); 
        if (uriParts.length == 2) { 
         var target = '#' + uriParts[1]; 
         try{ 
          api.scrollToElement(target, true); 
         }catch(e){ 
          alert(e); 
         } 
         return false; 
        } 
       }); 
      }); 
     }); 

hijackInternalLinksはまた、あなたが唯一の内部リンクが必要な場合は、それがA要素のclick funktionを結合し、標的とscrollToElementを呼び出しhijackInternalLinksのように、このコードを追加することができ、スクロール外部からのリンクをキャプチャ

ただし、常にタグのid属性を使用する必要があることに注意してください。 あなたはTinyMCEをを使用している場合は、この機能

function myCustomCleanup(type, value) { 
    switch (type) { 
      case "get_from_editor_dom": 
        var as = value.getElementsByTagName("a"); 
        for(var i=0; i< as.length;i++){ 
         if (as[i].hasAttribute('name')){ 
          var name = as[i].getAttribute('name'); 
          as[i].setAttribute('id',name); 
         } 
        } 
        break; 
    } 

    return value; 

}

でコードを修復することができます
関連する問題