好的伙计们请原谅我的无知。我是javascript的新手所以所有的帮助都很受欢迎。我一直在尝试实施这些解决方案,但它不起作用。这就是我对修改过的代码的看法:
<script type="text/javascript">
jQuery.noConflict() // return `$` to it's previous "owner"
(function($){ // in here you're assured that `$ == jQuery`
$(document).ready(function(){
$('#slider1').tinycarousel()
$('a.fancybox').fancybox()
$('textarea, select').uniform()
$('#slider').nivoSlider ({ pauseTime: 6000, effect: 'sliceDown'})
})
})(jQuery)
</script>
当我这样做时,它会使上述所有内容停止工作。
另外,我还有另一个声明
function $(id) {
return document.getElementById(id);
}
我不知道我是否理解如何处理它,因为如果我把它取下它随之停止工作(它是一个双滑块)
再次感谢
我是一个javascript新手,所以我道歉:0)
我在网站上使用这个javascript:
<script type="text/javascript">
$(document).ready(function(){
$('#slider1').tinycarousel();
$('a.fancybox').fancybox();
$('textarea, select').uniform();
$('#slider').nivoSlider ({ pauseTime: 6000, effect: 'sliceDown'});
});
</script>
还有另一个脚本在开头包含这个,这使得其他一切都停止工作。一旦我删除它一切都有效。有没有办法将这些联合起来?还是他们需要分开?
function $(id) {
return document.getElementById(id);
}
提前致谢...
答案 0 :(得分:5)
使用noConflict
发布$
,使用jQuery()
代替$()
进行jQuery操作:
<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$.noConflict();
// Now $('x') uses the custom $ function.
</script>
答案 1 :(得分:2)
问题是你已经声明了一个名为$的函数,它现在会覆盖由jquery创建的jquery引用。
因此,当您执行$('#slider1').tinycarousel();
时,您现在希望在函数返回的对象上定义一个方法tinycarousel
。
如果您仍想继续使用jquery和您的功能,则必须使用
jQuery("something").tinycarousel()
答案 2 :(得分:1)
最好不要直接使用$
函数来“保护”代码免受此类问题的影响,而是创建一个明确定义$ = jQuery
的新范围:
jQuery.noConflict() // return `$` to it's previous "owner"
(function($){ // in here you're assured that `$ == jQuery`
$(document).ready(function(){
$('#slider1').tinycarousel()
$('a.fancybox').fancybox()
$('textarea, select').uniform()
$('#slider').nivoSlider ({ pauseTime: 6000, effect: 'sliceDown'})
})
})(jQuery)
或者,jQuery将自己传递给DOMReady简短形式:
jQuery.noConflict()
jQuery(function($){
$('#slider1').tinycarousel()
$('a.fancybox').fancybox()
$('textarea, select').uniform()
$('#slider').nivoSlider ({ pauseTime: 6000, effect: 'sliceDown'})
})
将此作为标准做法,您将来可以避免此问题。
答案 3 :(得分:-1)
您应该删除第二个脚本,因为jQuery本身包含ID选择器,它将使用id作为要求从dom中选择元素。
function $(id) {
return document.getElementById(id);
}
$(document).ready(function(){
$("#myCarousel").fadeIn();
});