中易网

js之间发生冲突怎么解决?

答案:6  悬赏:80  
解决时间 2021-04-28 06:20
  • 提问者网友:控制庸俗
  • 2021-04-27 07:20

就是在同一个页面里面有相同的两个JS代码不出效果,结果我试着把其中一个JS代码删了效果就出来了,于是我把其中一个改了结果两个效果都不出来怎么解决呢?
就是这种的那个毕业日期用的是js年月日三级联动,重复了,代码是:

<script language="JavaScript">
<!--
function YYYYMMDDstart()
{
MonHead = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

//先给年下拉框赋内容
var y = new Date().getFullYear();
for (var i = (y-30); i < (y+30); i++) //以今年为准,前30年,后30年
document.form1.YYYY.options.add(new Option(" "+ i, i));

//赋月份的下拉框
for (var i = 1; i < 13; i++)
document.form1.MM.options.add(new Option(" " + i, i));

document.form1.YYYY.value = y;
document.form1.MM.value = new Date().getMonth() + 1;
var n = MonHead[new Date().getMonth()];
if (new Date().getMonth() ==1 && IsPinYear(YYYYvalue)) n++;
writeDay(n); //赋日期下拉框
document.form1.DD.value = new Date().getDate();
}
if(document.attachEvent)
window.attachEvent("onload", YYYYMMDDstart);
else
window.addEventListener('load', YYYYMMDDstart, false);
function YYYYDD(str) //年发生变化时日期发生变化(主要是判断闰平年)
{
var MMvalue = document.form1.MM.options[document.form1.MM.selectedIndex].value;
if (MMvalue == ""){ var e = document.form1.DD; optionsClear(e); return;}
var n = MonHead[MMvalue - 1];
if (MMvalue ==2 && IsPinYear(str)) n++;
writeDay(n)
}
function MMDD(str) //月发生变化时日期联动
{
var YYYYvalue = document.form1.YYYY.options[document.form1.YYYY.selectedIndex].value;
if (YYYYvalue == ""){ var e = document.form1.DD; optionsClear(e); return;}
var n = MonHead[str - 1];
if (str ==2 && IsPinYear(YYYYvalue)) n++;
writeDay(n)
}
function writeDay(n) //据条件写日期的下拉框
{
var e = document.form1.DD; optionsClear(e);
for (var i=1; i<(n+1); i++)
e.options.add(new Option(" "+ i, i));
}
function IsPinYear(year)//判断是否闰平年
{
return(0 == year%4 && (year%100 !=0 || year%400 == 0));
}
function optionsClear(e)
{
e.options.length = 1;
}
//-->
</script>

把这两个放进去就不显示了我就是把其中一改了也没反应,只能放一个JS,高手帮我指点一下了。

最佳答案
  • 二级知识专家网友:哥在撩妹请勿打扰
  • 2021-04-27 07:30
<script type="text/javascript">var jQuery=$;</script>并替换代码中$为jQuery
你这么做是什么意思?
这个库只有一段代码function $(element) {
return document.getElementById(element);
}水火不容,
只有这么一段吗?好像这意思是$(id).是这样吧!我被你搞晕了,jQuery的选择器可是支持css3的,你这么选择id有点画蛇添足了.
呵呵,我JavaScript的高级应用还没看完,我随便说说,你也随便听听.
function $(element) {
return document.getElementById(element);
}
你把$改成任意名就好了.只要符合规定
全部回答
  • 1楼网友:晚安听书人
  • 2021-04-27 12:00
建议还是在Firefox里面用FireBug插件来进行JS调试~~~ 这样会方便很多的~~
  • 2楼网友:开心就好
  • 2021-04-27 10:38

重启一下!!!

  • 3楼网友:晚安听书人
  • 2021-04-27 09:45
估计是浏览器的事
  • 4楼网友:何以畏孤独
  • 2021-04-27 08:08
重复了会有冲突。
  • 5楼网友:請叫我丶偏執狂
  • 2021-04-27 07:51

我调JS一般用遨游浏览器。你运行后下边有一个红差,然后你点那里就告诉你具体哪一行出现什么类型的错误了。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息