-
jquery w towarzystwie
dodano 25.11.2007 / komentarzy: 0 / autor: palmiakTwórcy strony Olimpiada zdrowia poprosili mnie o pomoc w rozwiązaniu pewngo problemu. Otóż zależało im, żeby na stronie równocześnie działały biblioteki jquery oraz prototype.
Pierwszą rzeczą, którą najpierw zrobiłem było wywiedzenie się po co im te dwie biblioteki. W odpowiedzi usłyszałem, że jquery służy do naprawiania błędów i Internet Explorera (kwestia menu), a prototype, bo musi być Lightbox. Oczywiście najrozsądniej by było albo użyć Thickboxa albo przepisać skrypt do menu, jednak to nie wchodziło w grę. Było trzeba doprowadzić to co jest do działania.
Okazało się, że twórcy jquery przewidzieli taką sytuację i w ich bibliotece jest furtka, która umożliwia działanie razem z innymi bibliotekami.
Kod pierwotnie wyglądał:
$(document).ready(function(){
$(‘li.parent2′).hover(function() {
$(this).children("ul").addClass(’show1′);
}, function() {
$(this).children("ul.child").removeClass(’show1′);
});$(‘ul ul li’).hover(function() {
$(this).children("ul").addClass(’show2′);
}, function() {
$(this).children("ul").removeClass(’show2′);
});
});Żeby doprowadzić go do działania potrzebny nam będzie
jQuery.noConflict();oraz zastąpienie wszystki$w kodzie słowem jQuery.W rezultacie otrzymamy następujący kod:
jQuery.noConflict();
jQuery(document).ready(function(){
jQuery(‘li.parent2′).hover(function() {
jQuery(this).children("ul").addClass(’show1′);
}, function() {
jQuery(this).children("ul.child").removeClass(’show1′);
});jQuery(‘ul ul li’).hover(function() {
jQuery(this).children("ul").addClass(’show2′);
}, function() {
jQuery(this).children("ul").removeClass(’show2′);
});
});I dzięki takiemu manewrowi możemy cieszyć z jQuery działającego razem z innymi bibliotekami.


















Napisz komentarz