0

我正在使用显示模式插件,并将其设置为在打开 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

我强烈建议只在页面上使用一个库,因为每个库提供的性能都会降低。我建议尝试更新显示插件以与 jquery v9 一起使用,或者找到一个更新的插件来实现相同的目标。

也就是说,如果这不可行,您可以使用 jqueries 无冲突选项来允许两个库一起运行:

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,其中有很多functions已被删除jquery 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 回答