我有几行 jQuery 代码可以在点击链接时加载外部页面。
$(document).ready(function() {
$(".link").click(function (e) {
e.preventDefault();
var $urlToLoad = $(this).attr('href');
$("#loadarea").load($urlToLoad, function(data){
$("#loading").fadeIn('fast').fadeOut('fast');
$("#loadarea").hide().fadeIn('slow');
return false;
});
});
});
这工作正常。但是,当我添加这一行在此页面上必不可少的附加代码时,会出现“$ 未定义”错误。
我已经在http://api.jquery.com/jQuery.noConflict/尝试了每一种技术,但是我无法解决冲突。
function goto(id, t){
$(".contentbox-wrapper").animate({"left": -($(id).position().left)}, 600);
$('#slide a').removeClass('active');
$(t).addClass('active');
}
我试过 var jq=jQuery.noConflict(); 替换 $ 但这并不能解决问题。
我想我对 jQuery 的了解还不够,无法解决这个冲突,我非常感谢任何能够解释发生了什么的人,以便我可以从中学习。
所以总的来说,它看起来像这样:
<script>
$(document).ready(function() {
$(".link").click(function (e) {
e.preventDefault();
var $urlToLoad = $(this).attr('href');
$("#loadarea").load($urlToLoad, function(data){
$("#loading").fadeIn('fast').fadeOut('fast');
$("#loadarea").hide().fadeIn('slow');
return false;
});
});
});
function goto(id, t){
$(".contentbox-wrapper").animate({"left": -($(id).position().left)}, 600);
$('#slide a').removeClass('active');
$(t).addClass('active');
}
</script>
然后我有一个内联代码来触发脚本。
(a class="active" href="#" onClick="goto('#kr', this); return false">测试
奇怪的是,即使出现错误,它也会在第二次点击时触发。
////////////////////////////////
通过转换内联 javascript 解决了冲突/错误。
感谢下面的黄教。