2012-09-18 107 views
0

我試圖更改我的網站的投資組合部分的內容。我有一個名爲.portfolio_box的div,其中包含項目的小預覽(每個項目div也有不同的id)。當你點擊這個div(.portfolio_box)時,我希望內容div(#main_content)的內容消失,並替換爲相應的內容。通過單擊div更改div的內容[jQuery]

我發現the following tutorial和調整腳本我的需求:

<script type="text/javascript"> 
    $(document).ready(function() 
    { 
     $("#thomasschoof_old").click(function() 
     { 

      /*hide('fast', function() 
      { 
       $('#main_content').load(thomasschoof_old.html,'',showNewContent); 
      }); 

      var toLoad = $(this).attr('href')+' #main_content'; */ 
      $('#main_content').hide('fast',loadContent); 
      $('#page').append('<span id="load">LOADING...</span>'); 
      $('#load').fadeIn('normal'); 

      }); 

      function loadContent() 
      { 
       $('#main_content').load('thomasschoof_old.html #project','',showNewContent) 
      } 

      function showNewContent() 
      { 
       $('#main_content').show('normal',hideLoader); 
      } 

      function hideLoader() 
      { 
       $('#load').fadeOut('normal'); 
      } 
      return false;   


    }); 
</script> 

但是當我點擊的div #thomasschoof_old沒有任何反應。我對jQuery或Javascript瞭解不多(只是進入它),我真的無法弄清楚它。

你可以在這裏查看網頁:http://jowannes.com/thomasschoof/portfolio.html

我希望有人能幫助我,在此先感謝! Thomas

+1

你正在定義一個函數內的點擊事件?真棒! :) –

+0

這就是它在我以前的教程中處理的方式,我猜這是錯誤的? (這在當時似乎很奇怪) – Schoof

+0

@PraveenKumar那麼,大多數其他jQuery用戶會直接使用匿名函數,直接調用它;例如'hide('fast',function(){$('#main_content')。load(thomasschoof_old.html,'',showNewContent);}); '這是jQuery的生活方式...... – feeela

回答

3

您的問題是,您是否在用於加載外部腳本文件(jQuery)的腳本標記內編寫了JS代碼。你的腳本不會以這種方式執行。

src:該屬性指定外部腳本的URI;可以使用 作爲將腳本直接嵌入到 文檔中的替代方法。 指定了src屬性的腳本元素不應在 的腳本中嵌入腳本。

來源:https://developer.mozilla.org/en-US/docs/HTML/Element/Script

從第二外部腳本文件設置一個單獨的腳本標記你的代碼或包括它,看看會發生什麼。

+0

這讓它'工作',點擊事件現在被稱爲!新的內容尚未加載(整個div消失,只有背景回來:P) – Schoof