在html页面中添加多个脚本

时间:2013-08-18 12:20:05

标签: javascript conflict

将以下两个脚本添加到html页面时,它们都不起作用,我猜有类似脚本冲突的问题,我的问题是如何克服这个问题? 第一个脚本是:

            $('document').ready(function(){

            $('#form').validate({
                    rules:{
                        "name":{
                            required:true,
                            maxlength:40
                        },


                        "message":{
                            required:true
                        }},

                    messages:{
                        "name":{
                            required:"This field is required"
                        },


                        "message":{
                            required:"This field is required"
                        }},

                    submitHandler: function(form){
                      $(form).ajaxSubmit({
        target: '#preview', 
        success: function() { 
        $('#formbox').slideUp('fast'); 
        } 
    }); 

                    }

            })

        });

,第二个脚本是:

$(document).ready(function(){
   var j = jQuery.noConflict();
    j(document).ready(function()
    {
        j(".refreshMe").everyTime(3000,function(i){
            j.ajax({
              url: "posts.php",
              cache: false,
              success: function(html){
                j(".refreshMe").html(html);
              }
            })
        })
    });
   j('.refreshMe').css({color:"red"});
});

2 个答案:

答案 0 :(得分:0)

请参阅文档:http://api.jquery.com/jQuery.noConflict/

var j = jQuery.noConflict();“将$变量的值返回到jQuery挪用它之前的值。在这种情况下,恰好是undefined。这打破了第一个脚本,因为它现在正在尝试使用未定义的$变量(你应该在控制台中弹出很多错误,你应该添加到你的问题中)。

至于为什么第二个脚本停止工作,很难说没有更多信息你具体是什么意思 - 你怎么知道它已经停止工作,是否有任何javascript错误等等。

答案 1 :(得分:0)

您可以在HTML中使用更多脚本标记,您的问题是您希望在初始化之前使用jQuery。确保首先将jQuery添加到HTML中,然后才使用它。