2

目標:ページの最初の読み込みだけでなく、シングルクリックでdivをアニメーション化します。

問題:ページをロードすると、希望どおりに動作しますが、要素をもう一度クリックしようとすると、要素を2回クリックしない限り機能しません。何か案は?

http://jsfiddle.net/V5LBk/10/

jQuery

$(document).ready(function() {
    $('h1.slide1').live('click', function() {
        $("div#slidebox1").animate({
            top: -129
        }, 300);
        $("div#slidebox2").animate({
            top: 115
        }, 300);
        $("div#slidebox3").animate({
            top: 115
        }, 300);
        $(this).removeClass("slide1").addClass("selected");
    });
    $("h1.selected").live('click', function() {
        $("div#slidebox1").animate({
            top: 115
        }, 300);
        $(this).removeClass("selected").addClass("slide1");
    });
    $('h1.slide2').live('click', function() {
        $("div#slidebox2").animate({
            top: -129
        }, 300);
        $("div#slidebox1").animate({
            top: 115
        }, 300);
        $("div#slidebox3").animate({
            top: 115
        }, 300);
        $(this).removeClass("slide2").addClass("selected2");
    });
});​

CSS

#slidebox h1{ 
    font-size:12px; 
    height:30px; 
    color:#212121; 
    font-weight:bold; 
    z-index:11; 
    cursor:pointer; 
}
4

1 に答える 1

2

私は.click()代わりに使用し.live('click'..、物事はうまくいきました。

http://jsfiddle.net/eKYxC/

于 2012-06-20T21:27:43.057 に答える