0
    $(function () {
    $("#clickme").click(function () {
        if($(this).parent().hasClass("popped")){
        $(this).parent().animate({right:'-280px'}, {queue: false, duration: 500}).removeClass("popped");
    }else {
        $(this).parent().animate({right: "0px" }, {queue: false, duration: 500}).addClass("popped");}
    });


    $(document).on('click',function(e){
        if($('#slideout').hasClass("popped")){
        $('#slideout').animate({right:'-280px'},{queue:false,duration: 500}).removeClass("popped");
        }
    });

    $('#slideout').on('click',function(e){
        e.stopPropagation();
    });

});

<div id="slideout">
    <div id="slidecontent">
        Yar, there be dragonns herre!
    </div>
    <div id="clickme">
    </div>
</div>

divをスライドさせるためのものです。しかし、このスクリプトを使用すると、ウェブサイトをズームすると、水平スクローラーが表示されません。どのように解決できますか?ありがとう。

4

2 に答える 2

0

次のようなことを試すことができます:-

 $(document).on('click',function(e){
        if($('#slideout').hasClass("popped")){
        $('#slideout').animate({right:'-280px'},{queue:false,duration: 500}).removeClass("popped");
        }
    });

JSフィドル

于 2013-07-18T07:59:57.337 に答える
0
$(document).on('click',function(e){ /* Hide on Outside Click*/
    if($('#slideout').hasClass("popped")){
        $('#slideout').animate({right:'-280px'},{queue:false,duration: 500}).removeClass("popped");
    }
});

$('#slideout').on('click',function(e){ /*Ignore 'Hide on Outside Click' on clicking #slideout element*/ 
    e.stopPropagation();
});

このコードは動作するはずです

最終的なコードは次のようになります。

$(function () {
    $("#clickme").click(function () {
        if($(this).parent().hasClass("popped")){
        $(this).parent().animate({right:'-280px'}, {queue: false, duration: 500}).removeClass("popped");
    }else {
        $(this).parent().animate({right: "0px" }, {queue: false, duration: 500}).addClass("popped");}
    });


    $(document).on('click',function(e){
        if($('#slideout').hasClass("popped")){
        $('#slideout').animate({right:'-280px'},{queue:false,duration: 500}).removeClass("popped");
        }
    });

    $('#slideout').on('click',function(e){
        e.stopPropagation();
    });

});

JSフィドル

于 2013-07-18T08:08:52.847 に答える