1

私のコードの何が問題なのですか? アニメーションは、セルの幅を 2 ​​つの値の間で変更しようとしています。アニメーションが機能しません。スクリプト部分を修正していただけますか?私は急いでいます。

<!DOCTYPE html>
<html>
<head>
<script src="jquery-1.9.1.js" type="text/javascript"></script>
<style type="text/css">
    .tbl{display: table;}
    .cell{display: table-cell;}
    .container{background: url("bgs/12.png")no-repeat;width: 179px;height: 119px;}
    #leftP{background: url("bgs/16.png")no-repeat right;width: 86px;height: 119px}
</style>
<script type="text/javascript">

    $(document).ready(function(){
        function Animation(){
            $('leftP').animate({width:'48px'},"slow");
            $('leftP').animate({width:'86px'},"slow","",Animation());

        }
    });
</script>
<title></title>
</head>
<body>
<div class="container tbl">
    <div id="leftP" class="cell width"></div>
    <div class="cell"></div>
</div>
</body>
</html>
4

4 に答える 4

3

あなたはどこにも電話していません...この関数をどこかAnimation()で呼び出さない限り、何もしません...Animation()

于 2013-03-18T06:43:25.383 に答える
1

初めて関数を呼び出す必要があります。

function Animation()
{
    $('#leftP').animate({width:'48px'},"slow");
    $('#leftP').animate({width:'86px'},"slow","",Animation());
}

$(document).ready(function()
{
    Animation();
});

IDまた、jQueryセレクターで定義するのを忘れています。

$('#leftP')
于 2013-03-18T06:45:19.543 に答える
1

これを試してください:アニメーション用に定義leftPしましたが、idは#leftP

$(document).ready(function(){
    function Animation(){
        $('#leftP').animate({width:'48px'},"slow");
        $('#leftP').animate({width:'86px'},"slow","",Animation());

    }

    Animation();
});
于 2013-03-18T06:45:45.333 に答える
0

あなたのコードには多くの問題があります。私はそれらすべてに対処しようとします:

  1. セレクターが間違っています。id-selectorを使用する必要があります #leftP
  2. アニメーションは順番に実行する必要があるため、最初のアニメーションのコールバックで 2 番目のアニメーションを実行します。
  3. すべてを開始するには、最初に Animation 関数を呼び出す必要があります。私の例では、すぐに呼び出される関数式を使用しています。

これがあなたが探していると私が信じているものです。

$(function () {
    (function Animation(){
        $('#leftP').animate({width:'48px'},"slow", function () {
           $('#leftP').animate({width:'86px'},"slow","",Animation());
        });    
    })();
});

デモ

于 2013-03-18T07:14:27.627 に答える