-2

下の二つは同じですか?

<script type="text/javascript"> 
var $j = jQuery.noConflict();
$j(document).ready(function () {
    $j('.fancybox').fancybox({
        maxWidth    : 700,
        maxHeight   : 550,
        minHeight   : 500,
        closeBtn:true
    });
    $j('a.fancybox').fancybox({
        maxWidth    : 700,
        maxHeight   : 550,
        minHeight   : 500,
        closeBtn:true
    });
    $j('#homeslider iframe').each(function() {
        var url = $j(this).attr("src")
        $j(this).attr("src",url+"&amp;wmode=Opaque")
    });
});
</script>
<script>
var $j = jQuery.noConflict();
$j(function(){
    // jQuery UI Dialog  
    $j('#dialog').dialog({
        autoOpen: false,
        width: 400,
        modal: true,
        resizable: false,
        buttons: {
            "Submit Form": function() {
                document.testconfirmJQ.submit();
            },
            "Cancel": function() {
                $j(this).dialog("close");
            }
        }
        return false;
    });
});
</script>

この

<script type="text/javascript"> 
var $j = jQuery.noConflict();
$j(document).ready(function () {
    $j('.fancybox').fancybox({
        maxWidth    : 700,
        maxHeight   : 550,
        minHeight   : 500,
        closeBtn:true
    });
    $j('a.fancybox').fancybox({
        maxWidth    : 700,
        maxHeight   : 550,
        minHeight   : 500,
        closeBtn:true
    });
    $j('#homeslider iframe').each(function() {
        var url = $j(this).attr("src")
        $j(this).attr("src",url+"&amp;wmode=Opaque")
    });
});
$j(function(){
    // jQuery UI Dialog  
    $j('#dialog').dialog({
        autoOpen: false,
        width: 400,
        modal: true,
        resizable: false,
        buttons: {
            "Submit Form": function() {
                document.testconfirmJQ.submit();
            },
            "Cancel": function() {
                $j(this).dialog("close");
            }
        }
        return false;
    });
});
</script>

閉じるスクリプトを削除し、これら 2 つを接続するために新しいスクリプトを開始しました。冗長な noConflict も削除しました。ヘッダーでこれら 2 つの異なる用途を使用すると、異なる動作になるのはなぜですか?

4

1 に答える 1

1

何が変わったのか説明していません。しかし、それを見ると、あなたの2番目scriptは最初からうまくいかなかったと思います。

それらは同じですが、最後の方で 2 番目scriptの が間違っている場合はreturn false、これはscript結合すると全体に影響する構文エラーです。

$j(function(){
    // jQuery UI Dialog  
    $j('#dialog').dialog({
        autoOpen: false,
        width: 400,
        modal: true,
        resizable: false,
        buttons: {
            "Submit Form": function() {
                document.testconfirmJQ.submit();
            },
            "Cancel": function() {
                $j(this).dialog("close");
            }
        }
        return false;  // INVALID SYNTAX
    });
});

開発中はブラウザの開発者コンソールを開いたままにしてください。これにより、構文エラーが通知され、問題を診断する最初の場所になるはずです。

理解できない質問を投稿する場合は、最初から完全な例を投稿してください。

また、質問を投稿するときは、「動作が異なる」や「機能しない」などのあいまいな用語を使用しないでください。あなたが観察したことを詳細に説明してください。

于 2013-04-14T19:30:01.583 に答える