2012-04-17 75 views
1

首先讓我說我是一個完整的初學者,當涉及到JavaScript。我正在處理的問題可能很容易解決;) 我正在從一個網頁上的文本內容從外部html文件加載到div。這是在用戶點擊菜單項時完成的。下面的js代碼是從外部文件加載,工作得很好:將html文件的內容加載到div中?

 

    $(document).ready(function(){ 
     var api = $('.scroll-pane').jScrollPane(
      { 
       showArrows:false, 
       maintainPosition: false 
      } 
     ).data('jsp');    
     $('#start').bind(
      'click', 
      function() 
      { 
       api.getContentPane().load(
        'texts/start.html', 
        function() 
        { 
         api.reinitialise(); 
        } 
       ); 
       return false; 
      } 
     ); 
     $('#nurkowanie').bind(
      'click', 
      function() 
      { 
       api.getContentPane().load(
        'texts/nurkowanie.html', 
        function() 
        { 
         api.reinitialise(); 
        } 
       ); 
       return false; 
      } 
     ); 
     $('#noclegi').bind(
      'click', 
      function() 
      { 
       api.getContentPane().load(
        'texts/noclegi.html', 
        function() 
        { 
         api.reinitialise(); 
        } 
       ); 
       return false; 
      } 
     ); 
     $('#dojazd').bind(
      'click', 
      function() 
      { 
       api.getContentPane().load(
        'texts/start.html', 
        function() 
        { 
         api.reinitialise(); 
        } 
       ); 
       return false; 
      } 
     ); 
     $('#galeria').bind(
      'click', 
      function() 
      { 
       api.getContentPane().load(
        'texts/galeria.html', 
        function() 
        { 
         api.reinitialise(); 
        } 
       ); 
       return false; 
      } 
     ); 
     $('#linki').bind(
      'click', 
      function() 
      { 
       api.getContentPane().load(
        'texts/linki.html', 
        function() 
        { 
         api.reinitialise(); 
        } 
       ); 
       return false; 
      } 
     ); 
     $('#kontakt').bind(
      'click', 
      function() 
      { 
       api.getContentPane().load(
        'texts/kontakt.html', 
        function() 
        { 
         api.reinitialise(); 
        } 
       ); 
       return false; 
      } 
     ); 
    }); 

問題是當頁面第一次加載時。我想讓class .scroll-pane的div加載'texts/start.html'的內容,這是您點擊開始鏈接時會得到的內容。現在這個div是空白的。我試圖玩這樣的代碼:

 

    $(document).ready(function(){ 
     $('.scroll-pane').load('texts/start.html'); 
    } 

但我無法得到它的工作。 有人可以給我幾個提示如何做到這一點?

在此先感謝 亞光

回答

1

我不知道你在做什麼是這樣做的最好的方式,但你可以使用:

http://api.jquery.com/jQuery.get/

因此,像:

$.get("texts/start.html", function(data) { 
    $(".scroll-pane').html(data); 
}) 

所以使用jScrollPane你可以爲每個點擊事件做這樣的事情:

$('#start').bind(
'click', 
function() 
{ 
    $.get("texts/start.html", function(data) { 
    api.getContentPane().html(data); 
    api.reinitialise(); 
    }); 
    return false; 
    } 
); 
+0

感謝Steve的及時回覆!這可能是最糟糕的方式,但這是我知道的唯一方法;)我將你的代碼添加到我的js文件中,內容在啓動時加載,但是我的菜單停止工作:(請查看http://grubyjaqb.website。 pl/ – user1338686 2012-04-17 13:36:04

+0

我已更新,使其更清晰 – 2012-04-17 13:50:09

+0

我更新了我的代碼,它的工作原理感謝您的提示;) – user1338686 2012-04-17 14:01:59

0

我不熟悉你正在使用的庫,但load()似乎是jScrollPane對象的一個​​函數。所以你需要調用load而不是普通的div。

嘗試使用此代替。

api.getContentPane().load(
        'texts/start.html', 
        function() 
        { 
         api.reinitialise(); 
        } 
       ); 

確定它是在你定義了api之後。

+0

就是這樣!它現在有效。非常感謝djmccorrie。 – user1338686 2012-04-17 13:41:07

+0

快樂,如果這是答案,你可以標記爲答案......謝謝。 – djmccorrie 2013-10-03 12:59:54