Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]Konflikt biblioteki jQuery z byslidemenu-2.1.3.js ...
Elber
post
Post #1





Grupa: Zarejestrowani
Postów: 381
Pomógł: 12
Dołączył: 9.07.2007

Ostrzeżenie: (0%)
-----


Witam, mam problem...mam slider w jQuery który działa ok i menu (byslidemenu) po lewej które działa tylko w momencie gdy załaduje w <script> biblioteki jQuery a jak jej nie załaduje to nie działa slider ... jak rozwiązać ten konflikt ? Tutaj link http://www.techos.pl/smolin/oferta.html

Konsola błędów pokazuje:
Uncaught TypeError: Object [object Object] has no method 'getElements' w http://www.techos.pl/smolin/js/byslidemenu-2.1.3.js w 37 linii


Cytat
33: initialize: function(options) {
34: this.setOptions(options);
35:
36: var menu = $(this.options.container);
37: this.elements = menu.getElements(this.options.selector);
38: var elements_count = this.elements.length;


Ten post edytował Elber 24.01.2012, 20:28:44
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Necsord
post
Post #2





Grupa: Zarejestrowani
Postów: 189
Pomógł: 60
Dołączył: 5.10.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


jQuery ma teraz zajęty namespace "j" czyli poprawnie jest:
  1. j(function(){
  2. j('.slider li').each(function() {
  3. var $t = j(this);
  4. var boxik1Width = $t.find('.boxik:eq(0)').width();
  5. var boxik2Width = $t.find('.boxik:eq(1)').width();
  6. var singleMargin = parseInt((900 - boxik1Width - boxik2Width) / 4);
  7. $t.find('.boxik').css('margin','0 '+singleMargin+'px');
  8. });
  9. });


w skrypcie od slider'a. ( Zamiast "$", "j". ) Jako ciekawostke zamiast zamiany wszystkich miejsc z $ na j można zrobić coś takiego:

  1. (function($){
  2. $('.slider li').each(function() {
  3. var $t = $(this);
  4. var boxik1Width = $t.find('.boxik:eq(0)').width();
  5. var boxik2Width = $t.find('.boxik:eq(1)').width();
  6. var singleMargin = parseInt((900 - boxik1Width - boxik2Width) / 4);
  7. $t.find('.boxik').css('margin','0 '+singleMargin+'px');
  8. });
  9. })(j);


Czyli obszar funkcji posiada zmienną lokalną "$", do której przekazujesz "j" czyli jQuery.

PS. noConflict() stosujesz tylko raz na poczatku.

Ten post edytował Necsord 24.01.2012, 22:08:13
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 06:28