Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
mnemic
HV vaatleja
liitunud: 13.12.2013
|
13.12.2013 13:43:53
jQuery conflict |
|
|
Tere! Juba pikemat aega on minu töödes tekkinud probleem jQuery'ga. Lahenduse otsimisele on kulnud kurattosin tundi ja proovitud on kõiki variante, mis leitud, ükski neist aga mu probleemi ei lahenda.
Probleemiks on erinevate jQuery versioonide kasutus, ühes dokumendis. Nagu teada on, siis kasutades erinevaid jQuery versioone korraga, tekib nendevaheline konflikt. Esimene kord, kui antud probleem tekkis, õnnestus mul see lahendada kasutades skripti
<script type="text/javascript">
var jQuery_1_7_2 = $.noConflict(true);
</script> |
Konflikt oli jQuery 1.7.2 ja 1.8.2 vahel.
Nüüd aga kasutusel jQuery 1.9.1 ja 1.10.2 ja lihtsalt ei leia lahendust. Kas asi võib olla 1.9.1 versioonis? -Just see tekitab konflikti ja eelnevalt olen ma noconflict lahendusega saanud lahenduse, kuid alati kui 1.9.1 mängus on, siis ükski lahend ei tööta .
Lisan ka koodi igaks juhuks:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Probleem</title>
<link rel="stylesheet" href="css/style.css">
<!-- Custom scrollbars CSS -->
<link href="css/jquery.mCustomScrollbar.css" rel="stylesheet" />
<!-- scrollto -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src='keynav/scrollIt.min.js' type='text/javascript'></script>
<script>$(function() { $.scrollIt(); });</script>
</head>
<body>
<div class="nav-container">
<nav>
<ul>
<li> <a data-scroll-nav="0">Link 1</a> </li>
<li> <a data-scroll-nav="1">Link 2</a> </li>
<li> <a data-scroll-nav="2">Link 3</a> </li>
<li> <a data-scroll-nav="3">Link 4</a> </li>
<li> <a data-scroll-nav="4">Link 5</a> </li>
<li> <a data-scroll-nav="5">Link 5</a> </li>
</ul>
</nav>
</div>
<section class="main-wrap">
<section id="intro" data-scroll-index="0">
<section class="cont-wrap">
<img src="images/logo.png" alt="logo">
</section>
</section>
<section id="ettevote" data-scroll-index="1">asd</section>
<section id="teenused" data-scroll-index="2">asd</section>
<section id="portfolio" data-scroll-index="3">asd</section>
<section id="affiliate" data-scroll-index="4">asd</section>
<section id="kontakt" data-scroll-index="5">asd</section>
</section>
<!-- Google CDN jQuery with fallback to local -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>!window.jQuery && document.write(unescape('%3Cscript src="js/minified/jquery-1.9.1.min.js"%3E%3C/script%3E'))</script>
<!-- custom scrollbars plugin -->
<script src="js/jquery.mCustomScrollbar.concat.min.js"></script>
<script>
(function($){
$(window).load(function(){
$("body,.content").mCustomScrollbar({
scrollButtons:{
enable:true
}
});
});
})(jQuery);
</script>
</body>
</html>
|
Teab keegi lahendit, oskab aidata? Oleksin äärmiselt tänulik.
PS: ütlen ka igaks juhks, et minu teadmised javascriptis ja jQuery-s on pm vaid copy-paste, seetõttu ka nii raske see minule .
Tänud ette!
M.
viimati muutis mnemic 13.12.2013 15:57:01, muudetud 2 korda |
|
tagasi üles |
|
 |
Fukiku
Kreisi kasutaja

liitunud: 06.11.2003
|
13.12.2013 13:48:14
|
|
|
Pole küll ka teab mis JavaScript ja jQuery guru, aga mis tingib vajaduse kasutada mitut erinevat versiooni paralleelselt? Tasuks pigem selles suunas vaadata, kuidas selline murekoht oma projektist välja saada.
_________________ Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist. |
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
 |
mnemic
HV vaatleja
liitunud: 13.12.2013
|
13.12.2013 14:06:28
|
|
|
Fukiku kirjutas: |
mis tingib vajaduse kasutada mitut erinevat versiooni paralleelselt? |
Vaja on kasutada kujunduslikul põhjusel 2-e jQuery pluginat, mis paratamatult kasutavad erinevat jQuery versiooni. Ja isegi kui ma jätaksin antud pluginad ära, oleksin tõesti hetkeks probleemist vaba, kuid probleemi eest ei saa ju ära joosta, see tuleb lahendada. Mingil momendil võib ikka tekkida situatsioon, kus antud teema vajaks lahendust.
|
|
tagasi üles |
|
 |
Fukiku
Kreisi kasutaja

liitunud: 06.11.2003
|
13.12.2013 14:34:36
|
|
|
Seda ma arvasin, et asi mingites pluginates on. Kas mõlemad pluginad on raudkindlalt konkreetse versiooni küljes kinni? Kas emb-kumb edasi või tagasi ei ühildu? Kas kahe versiooni vahel kolmandat mõlemale söödavat ei leidu? Või ongi jQuery ökosüsteem nii kivisse raiutud, et tuleb sellise jamaga tegeleda?
Eeldatavalt võiks (aga tõesti ei pruugi) vanemast versioonist sõltuv plugin uuemaga töötada. Tagasiühilduvuse lõhkumine on hea tava kohaselt väga taunitud.. aga ei saa muidugi välistada, et seda tehakse.
_________________ Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist. |
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
 |
Renka
HV Guru

liitunud: 01.04.2002
|
13.12.2013 14:38:00
|
|
|
Ma ei näe, et sul seal lehel oleks üldse kaks erinevat jQuery versiooni. Üks on ju jQuery ja teine on jQueryUI.
Lisaks custom scrollbars plugin ootab sult jQuery nimelist muutujat mitte jQuery_1_9_1
_________________ There is no place like 127.0.0.1
viimati muutis Renka 13.12.2013 14:40:03, muudetud 1 kord |
|
Kommentaarid: 71 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
1 :: |
61 |
|
tagasi üles |
|
 |
mnemic
HV vaatleja
liitunud: 13.12.2013
|
13.12.2013 15:00:45
|
|
|
Fukiku kirjutas: |
Seda ma arvasin, et asi mingites pluginates on. Kas mõlemad pluginad on raudkindlalt konkreetse versiooni küljes kinni? Kas emb-kumb edasi või tagasi ei ühildu? Kas kahe versiooni vahel kolmandat mõlemale söödavat ei leidu? Või ongi jQuery ökosüsteem nii kivisse raiutud, et tuleb sellise jamaga tegeleda?
Eeldatavalt võiks (aga tõesti ei pruugi) vanemast versioonist sõltuv plugin uuemaga töötada. Tagasiühilduvuse lõhkumine on hea tava kohaselt väga taunitud.. aga ei saa muidugi välistada, et seda tehakse. |
Eraldi on mõlemad võimelised töötama uusimal jQuery versioonil (http://code.jquery.com/jquery-latest.js) , kuid koos mitte ..
Renka, see tähendab, et ma peaksin...?
|
|
tagasi üles |
|
 |
gandalf
HV kasutaja

liitunud: 01.09.2002
|
13.12.2013 15:39:45
|
|
|
võta see noConflict osa ära lihtsalt. Sul ei ole seal mitut jQuery versiooni. -> Sul ei ole seal mingit konflikti, mida lahendada. Pigem Sa praegu ajad asja segadusse seal vägisi olematu konflikti lahendamisega.
|
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
1 |
|
tagasi üles |
|
 |
mnemic
HV vaatleja
liitunud: 13.12.2013
|
13.12.2013 15:58:32
|
|
|
gandalf, vabandust, tegemist oli vale koodiga üldse .. nüüd õige, nii nagu koodid olema peaksid .. niiet tegemist ei ole ikkagi jQuery UI-ga vaid ju ikka jQuery-ga. Ja sedasi ei tööta ..
|
|
tagasi üles |
|
 |
Renka
HV Guru

liitunud: 01.04.2002
|
13.12.2013 16:13:18
|
|
|
mnemic, mis jutt see üldse on, et see plugin (mCustomScrollbar) ei tööta uuema jQuery versiooniga? Täitsa ilusasti töötab ju.
Võta see 1.9.1 includemine koodist välja ja ongi kõik korras.
muus osas on sul noConflict ju puudu, et üldse saaks eri versioone kasutada. Samas polegi eri versioone vaja.
_________________ There is no place like 127.0.0.1 |
|
Kommentaarid: 71 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
1 :: |
61 |
|
tagasi üles |
|
 |
mnemic
HV vaatleja
liitunud: 13.12.2013
|
|
tagasi üles |
|
 |
Renka
HV Guru

liitunud: 01.04.2002
|
13.12.2013 17:00:11
|
|
|
Siis on ju need pluginad omavahel konfliktis - mitte jquery.
Vaata üle, et sul mCustomScrollbar viimane versioon samas ikka oleks. Seal sinu viidatud lingil tundub väga vana versioon olevat. Miks sellist lehte kasutada? Asjad tuleks ikka originaalallikast alla laadida kus asjad on up-to-date: http://manos.malihu.gr/jquery-custom-content-scroller/
_________________ There is no place like 127.0.0.1 |
|
Kommentaarid: 71 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
1 :: |
61 |
|
tagasi üles |
|
 |
mnemic
HV vaatleja
liitunud: 13.12.2013
|
13.12.2013 17:39:57
|
|
|
Renka, mõlemad pluginad on alla laetud originaalallikatest, antud lingid olid lihtsalt tutvustuseks, milliste pluginatega tegu (sealt ma nad avastasin). Igaks juhuks sai mõlemad pluginad eemaldatud ja uuesti alla laetud ja lisatud .. Kõigepealt lisasin scrollIt plugina, vahetasin ära jQuery versiooni 1.10.2 pealt jQuery-latest versiooni vastu, testisin, töötas. Järgnevalt lisasin scrollbar-i plugina ja eemaldasin sellelt jQuery versiooni 1.9.1, (kuna ka see oli võimeline töötama latest versioonil), testisin, tulemusena töötas scrollbar, kuid scrollIt plugin ei tööta. Võibolla on siis tõesti tegemist pluginate vahelise konfliktiga, mitte ikkagi jQuery, tunnistan oma eksimust, sest nagu sai alguseski öeldud, Javascript ja jQuery on minu jaoks võõrad.
Kui tegemist on tõesti pluginate vahelise konfliktiga, mida peaksin tegema? Oskad äkki kasvõi suunata lahenduse poole, kui mitte seda lausa välja pakkuda.
Tänud abi eest!
M.
|
|
tagasi üles |
|
 |
Renka
HV Guru

liitunud: 01.04.2002
|
13.12.2013 17:45:08
|
|
|
Siis tuleb debugida ja/või plugina autoriga kontakteeruda. Või siis mõni muu plugin kasutusele võtta.
Aga kui sa JS/jQuery maailmas eriti kodus ei ole siis on raske edasi seletada.
Aga võid ju näiteks vaadata mis toimub konsoolis. Järsku on mõni veateade seal.
Samas kui soovid, et keegi aitaks siis on elementaarne mingisugunegi näide kusagile üles panna. Kõige parem kui see oleks näiteks jsfiddle.net keskkonnas
_________________ There is no place like 127.0.0.1 |
|
Kommentaarid: 71 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
1 :: |
61 |
|
tagasi üles |
|
 |
mannatera
Kreisi kasutaja

liitunud: 01.07.2005
|
13.12.2013 18:29:04
|
|
|
Ei lähe konflikti ja töötavad ilusti kõige uuema jquery peal (palun ära kunagi kasuta kahte erinevat versiooni ühest ja samast scriptist). Su koodist küll ei olnud aru saada, kus sa seda mCustomScrollbari kasutada tahad, aga, siin variant kus mõlemad töötavad:
http://www.upload.ee/files/3762407/test.zip.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Probleem</title>
<!-- Custom scrollbars CSS -->
<link href="css/jquery.mCustomScrollbar.css" rel="stylesheet" />
</head>
<body>
<div class="nav-container">
<nav>
<ul>
<li> <a data-scroll-nav="0">Link 1</a> </li>
<li> <a data-scroll-nav="1">Link 2</a> </li>
<li> <a data-scroll-nav="2">Link 3</a> </li>
<li> <a data-scroll-nav="3">Link 4</a> </li>
<li> <a data-scroll-nav="4">Link 5</a> </li>
<li> <a data-scroll-nav="5">Link 5</a> </li>
</ul>
</nav>
</div>
<section class="main-wrap content" style="height:70px; overflow:auto; width: 200px;">
<section id="intro" data-scroll-index="0">
<section class="cont-wrap"></section>
</section>
<section id="ettevote" data-scroll-index="1">asd</section>
<section id="teenused" data-scroll-index="2">asd</section>
<section id="portfolio" data-scroll-index="3">asd</section>
<section id="affiliate" data-scroll-index="4">asd</section>
<section id="kontakt" data-scroll-index="5">asd</section>
</section>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="js/jquery.mCustomScrollbar.concat.min.js"></script>
<script src="js/scrollIt.min.js"></script>
<script>
$(function() {
$.scrollIt();
$(window).load(function(){
$("body,.content").mCustomScrollbar({
scrollButtons:{
enable:true
}
});
});
});
</script>
</body>
</html>
|
|
|
Kommentaarid: 24 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
19 |
|
tagasi üles |
|
 |
mnemic
HV vaatleja
liitunud: 13.12.2013
|
13.12.2013 18:59:10
|
|
|
mannatera, tänan vastuse eest, kuid see ei lahendanud probleemi.
Kõigepealt, scrollbar oli mõeldud tervele lehele, ehk siis body tervikule. Ma ei tea kas mul on kõik brwoserid vigased või milles asi, kuid mina mõlemat korraga tööl ei näe .. scrollbar töötab tip-top, kuid linkimine mitte. Ka selles näidises mitte, mis sa lisasid.
Renka, tõepoolest, konsoolis leidus üks veateade, täpsemalt:
tsitaat: |
event.returnValue is deprecated. Please use the standard event.preventDefault() instead.
|
.. uurisin ka kasutuselolevaid js faile, kuid ei leidnud nagu kohta, kus oleks event.returnValue-t märgitud..
|
|
tagasi üles |
|
 |
gandalf
HV kasutaja

liitunud: 01.09.2002
|
13.12.2013 19:03:05
|
|
|
see hoiatus tuleb jQuery enda koodist ja pole antud kontekstis oluline.
|
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
1 |
|
tagasi üles |
|
 |
mnemic
HV vaatleja
liitunud: 13.12.2013
|
13.12.2013 19:06:26
|
|
|
Milles siis aga probleem võib olla? ei tea keegi ?
Igastahes, ma tegin nüüd jsffiddle'i selle valmis .. äkki seal kergem vaadata ..
http://jsfiddle.net/mnemic/2SLUu/3/
Scroll töötab, kuid linkimine mitte. Teoreetiliselt peaks lingile klikkides ta edasi minema vastava section-i peale, kuid ta ei tee seda.
|
|
tagasi üles |
|
 |
Renka
HV Guru

liitunud: 01.04.2002
|
13.12.2013 19:49:09
|
|
|
Minuteada peaks asi olema selles, et see mCustomScrollbar eemaldab brauseri enda scrollimise võimaluse ja fakeb seda ise JS/CSSiga. Nii ei saagi ju brauser seda kuidagi scrollida. Ega ka mõni muu script mis brauserile vastava eventi saadab.
Lühidalt siis need ei saagi koos toimida.
Parandage mind kui eksin - aga ise sügavamale ei viitsinud kaevata seal hetkel.
_________________ There is no place like 127.0.0.1 |
|
Kommentaarid: 71 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
1 :: |
61 |
|
tagasi üles |
|
 |
mannatera
Kreisi kasutaja

liitunud: 01.07.2005
|
13.12.2013 21:51:32
|
|
|
Terve body scrollbari sa niikuinii igas browseris normaalseks ei saa. Sa pead tegema mingi holderi/wrapperi mis on 100% lai ja 100% kõrge ja sellele custom scroll panna. Aga minuarvates see täiesti mõttetu häkk.
mnemic kirjutas: |
mannatera, tänan vastuse eest, kuid see ei lahendanud probleemi.
Kõigepealt, scrollbar oli mõeldud tervele lehele, ehk siis body tervikule. Ma ei tea kas mul on kõik brwoserid vigased või milles asi, kuid mina mõlemat korraga tööl ei näe .. scrollbar töötab tip-top, kuid linkimine mitte. Ka selles näidises mitte, mis sa lisasid. |
Linkimine mul küll töötas, Chrome viimane versioon siis. Mis browserit sa ise kasutad üldse? Ja pea meeles, et sa pead vertikaalse scrolli tekitama, et sa linkidele klikkides effekti üldse näeksid.
|
|
Kommentaarid: 24 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
19 |
|
tagasi üles |
|
 |
|