web-dev-qa-db-ja.com

jQuery 1.9が.toggle(function、function)を削除した後に使用する代替手段は何ですか?

こんにちは私はクリックするたびに縮小と拡大を交互に繰り返すものを作成しようとしていますが、私のWebサイトには_jQuery 1.9_を使用しています。 .toggle(function,function)関数が_jQuery 1.9_から削除されたため、代わりに何を使用すべきかよくわかりません。

どんな助けでも素晴らしいでしょう。

ありがとう

jsfiddle(古いコード、jquery 1.8バージョンを使用): http://jsfiddle.net/TNAC6/

新しいjsfiddle(jquery 1.9): http://jsfiddle.net/TNAC6/1/

これが私が切り替えようとしている私のコードです。基本的に私が切り替えているのはサークルdivです。

_(function($){
    $.fn.createToggle = function(size) {
        var ele = $(this);
        var oldSize = ele.width();
        console.log("creating new toggle on element: " + ele + " old: " + oldSize + " new: " + size );
        console.log("its content is" + ele.children(".content"));
        var growfn = function() {
            $(this).stop().animate({
                'width': size+'px',
                'height': size+'px',
                'margin-left': '-'+(size/2)+'px',
                'margin-top': '-'+(size/2)+'px'
            }, 500);
            $(this).children(".content").toggle();
        };
        var shrinkfn = function() {
            $(this).stop().animate({
                'width': oldSize+'px',
                'height': oldSize+'px',
                'margin-left': '-'+(oldSize/2)+'px',
                'margin-top': '-'+(oldSize/2)+'px'
            }, 500);
            $(this).children(".content").toggle();
        };
        ele.click(function() {
//insert code to toggle stuff
        });
    };
})(jQuery);

$(".home").createToggle(500);
_

およびcss:

_.circleBase {
    -webkit-border-radius: 999px;
    -moz-border-radius: 999px;
    border-radius: 999px;
    behavior: url(PIE.htc);
}

.home {
    width: 200px;
    height: 200px;
    background: #FF5032;
    position: absolute;
    top: 300px;
    left: 300px;
    margin-left: -100px;
    margin-top: -100px;
}

.title {
    position: relative;
    padding-top: 10%;
    text-align: center;
    font-weight: bold;
    font-size: 24px;
}

.content {
    text-align: center;
    display: none;
}
_

およびhtml:

_<div class="circleBase home">
    <p class="title">Glen Takahashi<p>
    <p class="content">THIS IS CONTENT<BR> THIS IS CONTENT<BR> THIS IS CONTENT<BR> THIS IS CONTENT<BR> THIS IS CONTENT</p>
</div>
_
19
Glen Takahashi

2つの状態を使用すると、現在の切り替え状態をブール値として維持できます(私はclickStateを使用しました)。複数の状態が必要な場合は、引き続き状態カウントに1を加算してから、合計カウントのモジュラスをチェックして、状態に基づいて起動する関数を決定できます。

eleは実際に操作したいjQueryオブジェクトであるため、コードを少し更新しました。

http://jsfiddle.net/TNAC6/2/

6
Explosion Pills
$(document).ready(function() {
    var flag=0;
    $('selector').on('click', function(){
        var menu = $("element_to_toggle");
        if(flag==0){
            menu.text("click one");
            flag=1;
            return;
        }
        else if(flag==1){
            menu.text("click two");
            flag=0;
            return;
        }
    });
});
4
Raj Sharma