0

これは私のコードです:

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;
        }
    });
});

これにより、ページの中央にあるカードがメインのカードにカーソルを合わせて横に移動し、クリックすると元に戻ります。しかし、問題は、これを1回しか実行できないことです(ホバーしてクリックするのは1回だけです....その後は何もしません)。このアクションを繰り返すことができるようにコードを作成するにはどうすればよいですか? また、すべての画面サイズで jQuery を使いこなすにはどうすればよいのでしょうか?そのサイズに関係なく、カードは常に画面の隅に表示されます。そして最後に、一番上に来るカードは理由もなく少し違った動きをします。それらは、下のカードのように開始位置から移動するのではなく、斜めにアニメーション化する前に少し上に移動します。どうすれば修正できますか?必要に応じて、完全なコード (css と html を含む) を以下に示します: http://jsfiddle.net/kkdpw/

4

1 に答える 1

1

イベント後にフラグとバナナを true/false に戻す必要があります。

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;
  }

});
});

ここでフィドル

于 2013-04-22T07:10:52.803 に答える