Na samym wstępie chciałbym dodać że z javascript jak i jQuery jestem początkujący.
Mam konflikt 2 skryptów slidera facebooka który używa jQuery i skrypt wyświetlający komunikat o przechowywaniu cookies
Załączam:
slider facebooka
Kod
if (typeof(jQuery)=='undefined'){var oHead = document.getElementsByTagName('HEAD').item(0);var oScript= document.createElement('script');oScript.type = 'text/javascript';oScript.src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js';oHead.insertBefore(oScript,oHead.childNodes[0]);} window.onload=function(){ jQuery(document).ready(function(){(function (params){this.params=params;this.params.width=parseInt(this.params.width);this.params.height=parseInt(this.params.height);this.params.padding=parseInt(this.params.padding);var obj_show={};obj_show[this.params.side]='-8px';var obj_hide={};obj_hide[this.params.side]=-this.params.width-this.params.padding*2+'px';if(this.params.side=='left')this.params.backside='right';else this.params.backside='left';var me=this;this.create=function(){jQuery('#bossbyte_slide').remove();jQuery('body').append("<div id='bossbyte_slide'></div>");this.element=jQuery('#bossbyte_slide');var pos_obj={};var radius=this.params.radius+'px';pos_obj['border-top-'+this.params.backside+'-radius']=radius;pos_obj['-moz-border-radius-top'+this.params.backside]=radius;pos_obj['border-bottom-'+this.params.backside+'-radius']=radius;pos_obj['-moz-border-radius-bottom'+this.params.backside]=radius;this.element.css({'position':'fixed','top':this.params.top+'px','width':this.params.width+this.params.padding*2+'px','height':this.params.height+this.params.padding*2+'px','z-index':'100'});this.element.css(obj_hide);this.element.append("<div id='bossbyte_slide_world'></div>");this.element_world=jQuery('#bossbyte_slide_world');this.element_world.css({'position':'absolute','width':this.params.width+'px','height':this.params.height+4+'px','background-color':'#'+this.params.color,'padding':this.params.padding+'px','z-index':2});if(this.params.shadow==1){this.element.append("<div id='bossbyte_slide_shadow'></div>");jQuery('#bossbyte_slide_shadow').css({'position':'absolute','top':5,'background-color':'black','opacity':'0.5','width':this.params.width-5+'px','height':this.params.height+4+'px','padding':this.params.padding+'px','z-index':1})}var type={faces:'false',stream:'false'};switch(parseInt(this.params.likebox_type)){case 1:type.faces='true';break;case 2:type.stream='true';break;case 3:{type.stream="true";type.faces="true";break}}this.element_world.append('<div id="bosbyte_slide_fb"></div>');jQuery('#bosbyte_slide_fb').html('<iframe src="//www.facebook.com/plugins/likebox.php?href='+encodeURIComponent(this.params.adress)+'&width='+this.params.width+'&height='+this.params.height+'&show_faces='+type.faces+'&border_color='+this.params.color+'&stream='+type.stream+'&header=false" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:'+this.params.width+'px; height:'+this.params.height+'px;" allowTransparency="true"></iframe>');jQuery('#bosbyte_slide_fb').css({'position':'absolute','background-color':'#'+this.params.fbcolor,'z-index':3});var shortbutton=(this.params.textcolor!='white_left'&&this.params.textcolor!='white_right');this.element.append('<div id="bossbyte_slide_front"></div>');this.front=jQuery("#bossbyte_slide_front");this.front.css({'position':'absolute','z-index':4,'width':'30px','height':shortbutton?'120px':'136px',top:this.params.topbox+'px','background-color':'#'+this.params.frontcolor});pos_obj[this.params.side]=this.params.width+this.params.padding*2+'px';this.front.css(pos_obj);if(this.params.shadow==1){this.element.append('<div id="bossbyte_slide_front_shadow"></div>');this.front_shadow=jQuery("#bossbyte_slide_front_shadow");this.front_shadow.css({'position':'absolute','z-index':1,'width':'30px','height':shortbutton?'120px':'136px',top:parseInt(this.params.topbox)+5+'px','background-color':'black','opacity':'0.5'});this.front_shadow.css(pos_obj)}this.front.append('<div id="bossbyte_slide_front_back"></div');this.front.append('<div id="bossbyte_slide_front_front"></div>');jQuery('#bossbyte_slide_front_front').css({'position':'absolute','top':'0px','width':'100%','height':'100%','background-image':'url("'+params.your_page+'slider_text_'+this.params.textcolor+'.png")'});var f_css={};if(shortbutton)f_css[this.params.side]=-5;jQuery('#bossbyte_slide_front_front').css(f_css);pos_obj[this.params.side]=null;jQuery('#bossbyte_slide_front_front').css(pos_obj);if(this.params.gradient!=0){jQuery("#bossbyte_slide_front_back").css({'position':'absolute','top':'0px','width':'100%','height':'100%'});pos_obj[this.params.side]=0;jQuery("#bossbyte_slide_front_back").css(pos_obj);if(this.params.gradient==1)jQuery("#bossbyte_slide_front_back").css({'background-image':'url("'+params.your_page+'slider_light_'+this.params.side+'.png")'});else jQuery("#bossbyte_slide_front_back").css({'background-image':'url("'+params.your_page+'slider_dark_'+this.params.side+'.png")'})}};this.bind=function(){this.params.speed=parseInt(this.params.speed);this.element.hover(function(){jQuery(this).stop();jQuery(this).animate(obj_show,me.params.speed,function(){})},function(){jQuery(this).stop();jQuery(this).animate(obj_hide,me.params.speed,function(){})})};this.create();this.bind()})({'adress':'http://www.facebook.com/gimnazjum1konin','top':'80','side':'left','topbox':'0','color':'395994','width':'400','frontcolor':'395994','height':'600','fbcolor':'FFFFFF','padding':'2','textcolor':'white','speed':'1000','gradient':'0','shadow':'0','radius':'10','likebox_type':'3','your_page':'http://gimnazjum1.konin.pl/'})});};
komunikat ciasteczek
Kod
var RACK = { getCookie: function (b) { if ("" != document.cookie) { var a = document.cookie.split("; "); for (i = 0; i < a.length; i++) { var c = a[i].split("=")[0], d = a[i].split("=")[1]; if (c == b) return unescape(d) } } }, setCookie: function (b, a, c) { c = (new Date).getTime() + 864E5 * c; document.cookie = b + "=" + a + "; EXPIRES=" + (new Date(c)).toGMTString() + "; path=/" } }; window.onload = function () { if ("1" != RACK.getCookie("RACK")) { var b = document.getElementsByTagName("body")[0], a = document.createElement("div"); a.className = "RACKWrapper"; a.style.cssText = "position: fixed; bottom: 0; width: 100%; background-color: #d57b22; filter:alpha(opacity=90); opacity: 0.9; -moz-opacity:0.9; z-index: 1; box-shadow: 0 0 5px #666;"; a.innerHTML = '<div style="width: 930px; margin: 0 auto; position: relative; padding: 10px 35px 5px 35px; font-size: 11px; font-family: Verdana; text-align:justify; color:#000000; line-height: normal; "><a class="cookieInfoZamknij" style="position:absolute; right:5px; top:5px; text-decoration:none; font-family: Verdana; color: #000000; font-weight: bold;" href="#" title="Zamknij"><img src="sites/all/themes/gimnazjum1/img/close.png" style="width:15px; height:15px;"></a>Informacje o plikach cookie. <br> Ta strona używa plików Cookies. Dowiedz się więcej o celu ich używania i możliwości zmiany ustawień Cookies w przeglądarce. <a style="color:#0000ee" href="http://www.jak-zablokowac-cookies.pl" title="Zmiana ustawień cookies (ciasteczek)" target="_blank">Czytaj dalej...</a>.</div>'; b.appendChild(a); a.getElementsByClassName("cookieInfoZamknij")[0].onclick = function () { RACK.setCookie("RACK", "1", "3650"); a.style.display = "none"; return !1 } } };
oby dwa pliki są dodane do strony w sekcji head, jako zewnętrzne skrypty i działają, tylko nie w parze. Co najciekawsze jesli są dodane oba to działa tylko ten co jest drugi w kolejności
Czytałem i przeglądałem fora odnośnie podobnych konfliktów czytałem też coś o jQuery noconflict próbowałem to zastosować jednak nie wychodzi, pewnie dlatego że źle to robie bo nigdzie nie jest dokładnie sprecyzowane jak to zamieścić. Bardzo proszę o pomoc i wyrozumiałość za brak wiedzy:)