0

私は Reveal modal プラグインを使用しており、Cookie が有効になっているページを開いたときに自動的に読み込まれるように設定しましたが、うまく機能します。jquery v1.6 を実行します。v1.9 を使用する Nivoslider でページに実装する必要があります。

Nivoslider を使用してページに配置すると、ページの読み込み時に開くトリガーが機能しなくなりましたが、クリックで表示する機能は引き続き機能します。そのため、1.6 と 1.9 の間に競合はなく、ページの読み込み時に開かれなくなりました。

1.9 へのリンクを削除すると、トリガーは再び機能しますが、Nivoslider は明らかに機能しません。これに対する回避策はありますか?表示する必要がある場合は、以下のコードを参照してください。ありがとう...

<link rel="stylesheet" href="popup/reveal.css"> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.min.js">/script>
<script type="text/javascript" src="popup/jquery.reveal.js"></script>
<script type="text/javascript" src="popup/jquery.cookie.js"></script>
<script type="text/javascript"> 
jQuery(document).ready(function(){ 
if (jQuery.cookie('sale') != '1') { 
 jQuery('#myModal').reveal() 
    jQuery('#myModal').trigger('click'); 
    jQuery.cookie('sale', '1', { expires: 3}); } 
}); 
</script>  

<script type="text/javascript" src="slider/scripts/jquery-1.9.0.min.js"></script>
<script type="text/javascript" src="slider/jquery.nivo.slider.js"></script>
<script type="text/javascript">
$(window).load(function() {
$('#slider').nivoSlider({
   effect: 'fade', 
   animSpeed: 700, 
   pauseTime: 4000, 

});
});
</script>
4

3 に答える 3

0

各ライブラリが提供するパフォーマンスが低下するため、1 つのページで 1 つのライブラリのみを使用することを強くお勧めします。jquery v9 で動作するように公開プラグインを更新するか、同じ目標を達成する最新のプラグインを見つけることをお勧めします。

そうは言っても、これが実行可能でない場合は、jqueries no conflict オプションを使用して、両方のライブラリを一緒に実行できるようにすることができます。

http://api.jquery.com/jQuery.noConflict/

于 2013-08-22T16:19:34.243 に答える
0

なぜあなたは2 versions of jqueryこれを試してみてください、

<link rel="stylesheet" href="popup/reveal.css"> 

<!-- Use only the new version only like 1.9.0 -->
<script type="text/javascript" src="slider/scripts/jquery-1.9.0.min.js"></script>

<script type="text/javascript" src="popup/jquery.reveal.js"></script>
<script type="text/javascript" src="popup/jquery.cookie.js"></script>
<script type="text/javascript"> 
jQuery(document).ready(function(){ 
if (jQuery.cookie('sale') != '1') { 
 jQuery('#myModal').reveal() 
    jQuery('#myModal').trigger('click'); 
    jQuery.cookie('sale', '1', { expires: 3}); } 
}); 
</script>  

<script type="text/javascript" src="slider/jquery.nivo.slider.js"></script>
<script type="text/javascript">
$(document).ready(function() {//use document ready instead of windows load function
   $('#slider').nivoSlider({
      effect: 'fade', 
      animSpeed: 700, 
      pauseTime: 4000, 
   });
});
</script>

を使用しても機能しない場合は、で削除されるものjquery migrate pluginがたくさんあることに注意してください。functionsjquery 1.9 version

于 2013-08-22T16:20:04.290 に答える
-1

.live() メソッドは jQuery 1.7 以降非推奨となり、1.9 で削除されました。代わりに .on() メソッドを使用するようにコードをアップグレードすることをお勧めします。たとえば、$('a[data-reveal-id]').live('click', function(e) と完全に一致させるには、次のように記述できます。

    $('a[data-reveal-id]').on('click', function(e) {
    e.preventDefault();
    var modalLocation = $(this).attr('data-reveal-id');
    $('#'+modalLocation).reveal($(this).data());
});
于 2016-06-13T19:41:00.530 に答える