【问题标题】:Conflict between plugin and existing jquery code插件和现有 jquery 代码之间的冲突
【发布时间】:2013-12-10 17:50:57
【问题描述】:

另外,我的 jquery 代码有效,下载的插件也有效。但是当我尝试将它们组合在一起时(尝试在标题中使用单独的脚本,在标题/正文中尝试相同的脚本,将外部脚本分开/一起使用..),只有 1 个或没有一个起作用。

插件名为TinySlideshow (https://github.com/jhorstmann/TinySlideshow),插入到html脚本中的代码如下:

<script>
 $('slideshow').style.display='none';
 $('wrapper').style.display='block';
 var slideshow=new TINY.slideshow("slideshow");
 window.onload=function(){
        slideshow.auto=true;
        slideshow.speed=5;
        slideshow.link="linkhover";
        slideshow.info="information";
        slideshow.thumbs="slider";
        slideshow.left="slideleft";
        slideshow.right="slideright";
        slideshow.scrollSpeed=4;
        slideshow.spacing=5;
        slideshow.active="#fff";
        slideshow.init("slideshow","image","imgprev","imgnext","imglink");
     }
    </script>

我的问题是,我必须在哪里包含我的$(document).ready(function(){ 以避免与插件发生冲突?

【问题讨论】:

  • 您的前两行不是有效的 jQuery。 .style.display 用于 DOM 元素,而不是 jQuery 对象。
  • 您在选择器中的 ID 之前缺少 #
  • 为什么准备好的处理程序可以解决您的问题?提供错误消息(如果有)将帮助您获得一些答案
  • 请使用所有相关代码创建Fiddle
  • 您复制了错误的示例脚本。它有$T('slideshow'),而不是$('slideshow')

标签: javascript jquery html plugins jquery-plugins


【解决方案1】:

变化:

$('slideshow').style.display='none';
$('wrapper').style.display='block';

到:

$T('slideshow').style.display='none';
$T('wrapper').style.display='block';

$T 是 TinySlideShow 插件中的一个函数,它只是 document.getElementById 的缩写。

您应该将所有这些代码放在末尾或&lt;body&gt; 之后,或者将它们全部放在$(document).ready() 处理程序中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 2014-03-02
    相关资源
    最近更新 更多