我真的从未使用过jQuery,所以我需要你的帮助。
我有一个包含大量Jquery代码的模板。在我的模板上包含AngularJs后,我的幻灯片不时会中断。我的朋友建议我,我应该尝试添加noConflict();
行。基于documentation about noConflict我应该创建一个变量,并将其附加到我的代码中,但我真的不知道如何。
这是我创建幻灯片放映的jquery代码。
// on document ready
(function($){
"use strict";
var globalDfd = $.Deferred();
$(window).bind('load',function(){
// after loading all the scripts
globalDfd.resolve();
});
// camera slideshow
(function(){
var cs = $('.camera_wrap');
if(cs.length){
cs.camera({
height: '41%',
navigation: true,
pagination: true,
playPause:false,
thumbnails: false,
time: 4000,
transPeriod : 1000,
navigationHover: false,
onLoaded: function() {
var image = $('.camera_wrap .camera_src > [data-src]'),
len = image.length,
bullet = $('.camera_wrap .camera_pag_ul > li');
if(bullet.find('.custom_thumb').length) return;
for(var i = 0; i < len; i++){
bullet.eq(i).append('<div class="custom_thumb tr_all_hover"><img src="' + image.eq(i).data('custom-thumb') + '" alt=""></div>');
}
bullet.on("mouseenter mouseleave",function(){
$(this).children('.custom_thumb').toggleClass("active");
});
}
});
cs.find('.camera_prev').append('<i class="fa fa-angle-left"></i>');
cs.find('.camera_next').append('<i class="fa fa-angle-right"></i>');
}
})();
})(jQuery);
请举例说明,如果添加noConflict函数,该代码应如何显示。 提前谢谢。
答案 0 :(得分:1)
JQuery使用$,这样的其他一些框架。 为了确保没有冲突,您可以简单地用jQuery替换$
例如:
$(&#39; .camera_wrap&#39;) 变 jQuery的(&#39; .camera_wrap&#39)
答案 1 :(得分:1)
提供的代码将能够与noConflict一起运行良好。 因为它已经包含在jquery-&gt; $ closure
中答案 2 :(得分:1)
我假设您已经完成了使用noConflict()的需要。 以下是您的代码的样子
//Define you alias
var your_alias = $.noConflict(true);
(function() {
var cs = your_alias('.camera_wrap');
if (cs.length) {
cs.camera({
height: '41%',
navigation: true,
pagination: true,
playPause: false,
thumbnails: false,
time: 4000,
transPeriod: 1000,
navigationHover: false,
onLoaded: function() {
var image = your_alias('.camera_wrap .camera_src > [data-src]'),
len = image.length,
bullet = your_alias('.camera_wrap .camera_pag_ul > li');
if (bullet.find('.custom_thumb').length) return;
for (var i = 0; i < len; i++) {
bullet.eq(i).append('<div class="custom_thumb tr_all_hover"><img src="' + image.eq(i).data('custom-thumb') + '" alt=""></div>');
}
bullet.on("mouseenter mouseleave", function() {
your_alias(this).children('.custom_thumb').toggleClass("active");
});
}
});
cs.find('.camera_prev').append('<i class="fa fa-angle-left"></i>');
cs.find('.camera_next').append('<i class="fa fa-angle-right"></i>');
}
})();
如果您仍然遇到任何问题,也请告诉我。