什么是适当的javascript函数发布?

时间:2013-04-14 18:16:18

标签: javascript jquery

这两个是否相同?

<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>

我删除了关闭脚本并启动新脚本来连接这两个脚本。我还删除了冗余的noConflict。为什么我在标题中使用这两种不同的用法会得到不同的行为?

1 个答案:

答案 0 :(得分:1)

你没有描述变化的内容。但是看着它,我猜你的第二个script从未开始工作。

它们是相同的,但如果你的第二个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
    });
});

请在开发过程中保持浏览器的开发者控制台处于打开状态。这会告诉你语法错误,应该是你去诊断问题的第一个地方。

当你发布一个你无法弄清楚的问题时,请从一开始就发布一个完整的例子。

此外,当您发布问题时,请勿使用“行为不同”或“不起作用”等模糊术语。详细描述您观察到的内容。