jquery与另一个js冲突

标签 jquery jquery-plugins javascript

在我的网站上,我使用 TafelTree (创建可折叠树形菜单的 JavaScript)。最近我使用 jQuery Coundown 制作了一个小部件.

我的问题是,只要我的 jQuery 倒计时小部件位于页面中,树形菜单就不再工作(它不显示任何内容)

jQuery倒计时函数的调用是:

$(function () {
       var theDay = new Date();
       theDay = new Date(2011, 9, 19, 20, 0, 0);
       $('#evo_defaultCountdown').countdown({until: theDay, format: 'HMS'});
});

TafelTree脚本的调用是:

function TafelTreeInit () {
var struct = [{"id" : "item_280",
"txt" : '<a class="category-link">Back to School</a>',
"url" : "/back-to-school.html", "canhavechildren" : true,
"items" : [{
"id" : "item_280_277",
"txt" : '<a href="back-to-school/notebook-acer.html">notebook Acer</a>',
"canhavechildren" : false},{
"id" : "item_280_278",
"txt" : '<a href="back-to-school/desktop-monitor-acer.html">Desktop + monitor Acer </a>',
"canhavechildren" : false},{
"id" : "item_280_266",
"txt" : '<a href="back-to-school/pc-desktop-1.html">PC Desktop</a>',
"canhavechildren" : false},{
"id" : "item_280_267",
"txt" : '<a href="back-to-school/monitor.html">monitor</a>',
"canhavechildren" : false},{
"id" : "item_280_268",
"txt" : '<a href="back-to-school/laptop-mini-laptop.html">Laptop / Mini-laptop</a>',
"canhavechildren" : false},{
]}]; 
]}]; 
function funcOpen (item, response) {
   var selected = document.getElementById(item.idObj);
   var selectedParent = selected.parentNode;
   if(response == true) {
      selected.className = selected.className+' ' + selected.className + '_open';
      selectedParent.className = selectedParent.className+' ' + selectedParent.className + '_open';
      } else {
      selected.className  = 'tafelTreecontent';
      selectedParent.className = 'tafelTreecanvas';
      }
      return true;
      }

      tree = new TafelTree('menuHolder', struct, {
         'generate' : true,
         'imgBase' : SKIN_URL+'images/plugins/tree/',
          //'defaultImg' : 'page.gif',
          //'defaultImgOpen' : 'folderopen.gif',
          //'defaultImgClose' : 'folder.gif',
          'onLoad' : function(){},
          'onOpen' : funcOpen
       });

       if(tree.openAll == true || tree.openAll == 'open'){
            document.getElementById('nav_collapse').style.display = "block";
            document.getElementById('nav_expand').style.display = "none";
        } else {
            document.getElementById('nav_collapse').style.display = "none";
            document.getElementById('nav_expand').style.display = "block";
        }
}

知道是什么原因导致了这种冲突吗?我该如何修复它?

最佳答案

使用这个:

http://api.jquery.com/jQuery.noConflict/

就你的情况而言:

jQuery.noConflict();    
jQuery(function () {
       var theDay = new Date();
       theDay = new Date(2011, 9, 19, 20, 0, 0);
       jQuery('#evo_defaultCountdown').countdown({until: theDay, format: 'HMS'});
});

关于jquery与另一个js冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7821708/

相关文章:

javascript - jQuery 按钮单击 jqGrid 的刷新仅触发一次

jquery - html - 单击时输入无法聚焦

javascript - Angular Firestore |如何获取不包含的数组

javascript - 如何根据ajax中的搜索字段输入调用URL?

javascript - Chrome 扩展 Jquery .on 事件

没有值的 JavaScript 克隆

jquery - jQuery 为何这么快?

javascript - 如何使用 javascript 更改 jquery selectric 元素的选定选项?

jquery - 验证 nicedit 表单文本区域

javascript - jQuery addClass 之后/之前