2013-04-22 59 views
0

這是我的代碼:重複jQuery代碼和adepting

var flag=true; 
$(document).ready(function(){ 
    $("glavna").mouseenter(function(){ 
     if(flag) 
     { 
      $(".ocenjevanje").animate({right:"+=440", bottom:"+=20"},1000); 
      $(".svetovanje").animate({right:"+=440", top:"+=140"},1000); 
      $(".onas").animate({left:"+=440", top:"+160"},1000); 
      $(".infotocka").animate({left:"+=440", bottom:"+=3"},1000); 
      flag=false; 
     } 
    }); 
}); 

var bannana=true; 
$(document).ready(function(){ 
    $(".glavna").click(function(){ 
     if(bannana) 
     { 
      $(".ocenjevanje").animate({right:"-=440", bottom:"-=200"},1000); 
      $(".svetovanje").animate({right:"-=440", top:"-=140"},1000); 
      $(".onas").animate({left:"-=440", top:"-=150"},1000); 
      $(".infotocka").animate({left:"-=440", bottom:"-190"},1000); 
      bannana=false; 
     } 
    }); 
}); 

這將移動卡我在頁面中間與懸停在主卡的側面和返回他們點擊。但問題是我只能這樣做一次(只有一次懸停和點擊....之後,它什麼都不做)。我怎樣才能使代碼,所以我將能夠重複這一行動?我如何在所有屏幕尺寸上嫺熟jQuery,因此無論它的尺寸如何,顯卡都將始終位於屏幕的角落?最後一件事情是,沒有任何理由,進入頂級動畫的卡片有點不同。他們不像起始位置那樣從底部開始,而是在對角線動畫前輕微移動。我該如何解決這個問題? 如果需要的話這裏是完整的代碼(CSS和HTML):http://jsfiddle.net/kkdpw/

+1

好,它只能工作一次的原因是因爲正在設置標誌「flag」和「bannana」。一旦''.glavna'分類的項目被點擊,那兩個都變成'false',並且'if'塊中的代碼將不會獨立運行。 – sberry 2013-04-22 07:07:59

回答

1

你需要在事件發生後改變國旗和香蕉回真/假..

var flag=true; 
$(document).ready(function(){ 
$(".glavna").mouseenter(function(){ 
    if(flag) 
    { 
    $(".ocenjevanje").animate({right:"+=440", bottom:"+=20"},1000); 
    $(".svetovanje").animate({right:"+=440", top:"+=140"},1000); 
    $(".onas").animate({left:"+=440", top:"+160"},1000); 
    $(".infotocka").animate({left:"+=440", bottom:"+=3"},1000); 
    flag=false; 
     bannana = true; 
    } 

}); 
}); 

var bannana=true; 
$(document).ready(function(){ 
$(".glavna").click(function(){ 
    if(bannana) 
    { 
    $(".ocenjevanje").animate({right:"-=440", bottom:"-=200"},1000); 
    $(".svetovanje").animate({right:"-=440", top:"-=140"},1000); 
    $(".onas").animate({left:"-=440", top:"-=150"},1000); 
    $(".infotocka").animate({left:"-=440", bottom:"-190"},1000); 
    bannana=false; 
     flag = true; 
    } 

}); 
}); 

fiddle here

+0

這有效,但會出現另一個問題。每當我重複盤旋並點擊,卡片就會到不同的位置。我怎樣才能設置它,讓他們總是會回到同一點? – Urrby 2013-04-22 07:40:47

+0

這是因爲你正在爲'+ = 440'和底部爲'+ 20'設置權限,這意味着每次這樣會在右邊添加440px,在底部添加20px ...使其成爲靜態...並且它將保持在相同posionion – bipen 2013-04-22 07:49:15

+0

但我如何使它靜態?對不起,但我現在很困惑。我覺得我什麼都不知道了。你能在我的小提琴裏修好嗎?我真的很感激。 – Urrby 2013-04-22 07:55:30