繁体   English   中英

jQuery与另一个JS冲突

[英]jquery conflict with another js

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

我的问题是,只要页面中有我的jQuery Countdown小部件,树形菜单就不再起作用(它不会显示任何内容)

jQuery countdown函数的调用是:

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";
        }
}

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'});
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM