Suivez les fils RSS
 

Des livres incontournables pour tout maîtriser

  • CSS avancées - vers HTML5 et CSS3
  • HTML5
  • CSS2
  • PHP5 avanc�
  • Memento MySQL
  • Memento CSS 3
  • Memento XHTML
  • WordPress 3 100% pratique
  • jQuery et jQuery UI
Auteur
youris007
#
Citer
1 Posts
Bjr,
Je cherche a reparer un conflit de javascript, entre trois applications : lightbox, slider, et une calendrier. voila mon head :


<head>


<link href="style.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="css/jquery.lightbox-0.5.css" media="screen" />
<link rel="stylesheet" href="css/nivo-slider.css" type="text/css" media="screen" />


<script language="javascript" type="text/javascript">

jQuery.noConflict();
// Code that uses other library's $ can follow here.
</script>

<script src="admin/javascript/src/prototype.js" type="text/javascript"></script>
<script src="admin/javascript/src/rico.js" type="text/javascript"></script>
<script src="admin/javascript/datetimepicker.js" type="text/javascript"></script>




<script src="js/jquery.min.js" type="text/javascript"></script>
<script src="js/jquery.nivo.slider.js" type="text/javascript"></script>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.lightbox-0.5.js"></script>

<script language="javascript" type="text/javascript">

$(function() {
$('#map a').lightBox();
});



$(window).load(function() {
$('#slider').nivoSlider({
effect:'random',
slices:15,
animSpeed:500,
pauseTime:3000,
startSlide:0, //Set starting Slide (0 index)
directionNav:false,
directionNavHide:false, //Only show on hover
controlNav:false, //1,2,3...
controlNavThumbs:false, //Use thumbnails for Control Nav
pauseOnHover:true, //Stop animation while hovering
manualAdvance:false, //Force manual transitions
captionOpacity:0.8, //Universal caption opacity
beforeChange: function(){},
afterChange: function(){},
slideshowEnd: function(){} //Triggers after all slides have been shown
});
});
$(function() {
$('#map a').lightBox();
});

function clearText(field)
{
if (field.defaultValue == field.value) field.value = '';
else if (field.value == '') field.value = field.defaultValue;
}
</script>

</head>


avez vous une idée qui peut m'aider?
merci d'avance


^
yellooo
#
Citer
I want Kiwwiiiizzzzzz
34 Posts
Salut,
est que tu as vraiment besoin de prototype.js, rico.js,datetimepicker.js

Car tu as le jquery ui qui te permet d'avoir un datetimepicker ici.


jQuery.noConflict();
// Code that uses other library's $ can follow here.
</script>

<script src="admin/javascript/src/prototype.js" type="text/javascript"></script> 
<script src="admin/javascript/src/rico.js" type="text/javascript"></script>
<script src="admin/javascript/datetimepicker.js" type="text/javascript"></script> 




<script src="js/jquery.min.js" type="text/javascript"></script>
<script src="js/jquery.nivo.slider.js" type="text/javascript"></script>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.lightbox-0.5.js"></script>

<script language="javascript" type="text/javascript">


je ferais un truc du genre

<script src="js/jquery.min.js" type="text/javascript"></script>
<script src="js/jquery.ui.min.js" type="text/javascript"></script>
<script src="js/jquery.nivo.slider.js" type="text/javascript"></script>
<script type="text/javascript" src="js/jquery.lightbox-0.5.js"></script>
<script type="text/javascript" src="js/scripte.js"></script>


creer un fichier scripte.js pour ton code d'initialisation de tes variables, lib ou fonctions sera bien plus sympa.
Modifié par yellooo (06 Feb 2012 - 17:10)

^
kustolovic
#
Citer
553 Posts
Comme dit précédemment, le meilleur moyen d'éviter les conflits c'est d'éviter d'utiliser 3 librairies qui font au final la même chose eek

Il y a déjà un conflit sur la fonction "$" entre prototype et jQuery. Lorsque tu passes jQuery en monde sans conflit:

#1 Le faire après que jQuery soit appelé serait plus efficace (jquery.min.js) ...

#2 En mode no-conflict l'alias $ n'est plus disponible pour jQuery vu qu'il est déja utilisé, on utilisera alors jQuery au lieu de $: jQuery(window)...

#3 Il est ensuite possible de continuer d'utiliser $ à l'intérieur des structures suivantes:

jQuery(document).ready(function($) {
    // utilisation de jQuery avec $
});


(function($) { 
  // utilisation de jQuery avec $
})(jQuery);


# 4 Le slider peut être chargé dès que le dom est chargé, donc possibilité d'utiliser $(document).ready(function () { au lieu de $(window).load(function().
Modifié par kustolovic (06 Feb 2012 - 14:20)

^