2012-08-29 30 views
0

這是我的javascript與麻煩。點擊結合的if/else jQuery中

$(document).ready(function(){ 
     $('.frontpageimg').click(function(){ 
      $(this).data('clicked', true); 
     }); 
     if('.frontpageimg').data('clicked') { 
      $('#imagepos').slideUp(2000).fadeOut(2000); 
      $('#contentpos').slideUp(2000).fadeIn(2000); 
     } else { 
      $('#imagepos').delay(8000).slideUp(2000).fadeOut(2000); 
      $('#contentpos').delay(8000).slideUp(2000).fadeIn(5000); 
     } 
    }); 

網站動畫顯示的延遲,這是什麼應該發生後的主要內容。但是,我希望用戶能夠通過點擊圖像跳過等待並激活較短的動畫。目前,「其他」部分下的所有內容都能正常工作,但點擊圖像時不會發生任何事情。

編輯:我已經改變了代碼,試圖讓事情工作,仍然沒有做我想做的事情。

$(document).ready(function(){ 
     $('#imagepos').delay(8000).slideUp(2000).fadeOut(2000); 
     $('#contentpos').delay(8000).slideUp(2000).fadeIn(5000);  
    }); 
    $('#frontpageimg').click(function(){ 
       $('div:animated').stop(); 
       $('div:animated').clearQueue(); 
       $('#imagepos').slideUp(2000).fadeOut(2000); 
       $('#contentpos').slideUp(2000).fadeIn(2000); 
      }); 
+1

有在你的代碼中是一個_syntax error_if if('。frontpageimg')' – undefined

+0

不知道if/else塊中有什麼東西在工作,代碼執行應該會在if行中出錯並停止。 – MrOBrian

+0

修復了語法錯誤,並且在解決當前的嘗試之前,圍繞一堆事情前進。它仍然不起作用,但不會拋出任何錯誤。 – MWhitmore

回答

3

你結合你正在試圖改變行爲的函數內的點擊處理程序(這是隻有調用一次,在單線程環境)。

你會好起來試圖取消或從咕咕處理程序修改動畫序列(如果它仍在運行),或者,你可以有你的動畫序列檢查,以查看該按鈕被點擊

+0

我可以在.animate方法中使用.fadein/out和.slideup嗎? – MWhitmore