CSS属性未更新

时间:2013-02-01 11:24:19

标签: jquery css

我有一个使用.toggle()方法的代码,该方法工作正常,但必须用.on('click'..)替换.toggle(),以便以后可以使用.off()方法解除绑定

以下是第一个使用toggle()方法的代码:

        var befrestorex;
        var befrestorey;
        var befrestorew;
        var befrestoreh;
        var toggled =false;

    $('#restorebtndiv').toggle(
        function(){

        befrestorex = $('#windowdiv').css('left');
        befrestorey = $('#windowdiv').css('top');
        befrestorew = $('#windowdiv').css('width');
        befrestoreh = $('#windowdiv').css('height');


        windowScrollTopBrestore = $(document).scrollTop()+'px';
        console.log(windowScrollTopBrestore);

     $('#windowdiv').css({'left':'0px','top':windowScrollTopBrestore,'width':'100%','bottom':'50px','height':'100%'});  


        },function(){           

            $('#windowdiv').css({'left':befrestorex,'top':befrestorey,'width':befrestorew,'height':befrestoreh});

});

第二个代码是:

var befrestorex;
var befrestorey;
var befrestorew;
var befrestoreh;
var toggled =false;

$('#restorebtndiv').on('click', function(){


    console.log("function started ...");
    befrestorex = $('#windowdiv').css('left');
    befrestorey = $('#windowdiv').css('top');
    befrestorew = $('#windowdiv').css('width');
    befrestoreh = $('#windowdiv').css('height');


    if (!toggled){

           toggled=true;

        windowScrollTopBrestore = $(document).scrollTop()+'px';
        console.log(windowScrollTopBrestore);


        $('#windowdiv').css({'left':'0px','top': windowScrollTopBrestore,'width':'100%','bottom':'50px','height':'100%'});


    }
    else {          
           toggled=false;

           $('#windowdiv').css({'left':befrestorex,'top':befrestorey,'width':befrestorew,'height':befrestoreh});
           console.log(toggled);
    }
});

在“其他”中,$('#windowdiv')。css({'left':befrestorex,'top':befrestorey,'width':befrestorew,'height':befrestoreh}); 对匹配的div.it s没有影响,因为它在第一个代码中工作没有任何问题。我用谷歌搜索找到一种用jquery刷新div的方法,我找到了使用.fadeIn('fast')的解决方案,但它既不起作用。 有人有想法吗?

0 个答案:

没有答案