jQuery slideToggle在joomla上不起作用,但适用于jsbin

时间:2014-01-20 15:49:06

标签: javascript jquery css joomla

所以我有一个网站,我想使用jQuery slideToggle移动块。问题是它在我的Joomla网站上不起作用。但是,当我将代码复制到jsbin.com时,它可以工作。这是链接http://jsbin.com/EcObOwex/1/edit 这是我正在使用的实际JS:

$('.sTurinys').hover(function(){
$('.ssTurinys',(this)).stop().slideToggle(600);
});

我不知道我能提供哪些其他信息。 JS代码在splash.js中,链接到它正常工作(检查它,还有一些其他脚本可以从文件中运行)

编辑:我被告知这是一个JS错误,我得到了。 这是错误 Uncaught TypeError: Object [object Object] has no method 'tooltip' 这是代码。任何人都可以帮我确定它是什么吗?

<script type="text/javascript">
window.addEvent('load', function() {
            new JCaption('img.caption');
        });
jQuery(document).ready(function()
            {
                jQuery('.hasTooltip').tooltip({"container": false});
            });

我没有手动添加它,它是<jdoc:include type="head" />的一部分。任何人都可以帮我确定如何摆脱这段代码吗?

编辑2: 更多信息: 这是我的完整<head>代码。 http://jsbin.com/aFOZEWI/2/edit 你也可以在Bin的JavaScript部分找到完整的SPLASH.JS。 附: splash.js的另一部分工作,我的溢出元素就像预期的那样改变。

2 个答案:

答案 0 :(得分:2)

您可能有多个jQuery库被导入,这可能会导致冲突。除此之外,让我们导入脚本并使用Joomla编码标准添加代码。

<?php      
   JHtml::_('jquery.framework'); //This calls jQuery in noConflict mode
   $doc = JFactory::getDocument();
   $doc->addScript(JUri::root() . 'templates/vabankbroker/src/splash.js');
   $doc->addScriptDeclaration("
      $('.sTurinys').hover(function(){
          $('.ssTurinys',(this)).stop().slideToggle(600);
      });
  ");
?>

至于工具提示错误,请打开模板的index.php,如果以下内容不存在,我建议你添加它:

JHtml::_('bootstrap.framework');

希望这有帮助

答案 1 :(得分:0)

我通过这篇文章找到了答案:
My script works in jsfiddle but not site. Cannot call method hover of null? 感谢各种通知,我会做出所有这些修复,但对于这个确切的问题,我必须将脚本包含在<body>标记的末尾,并且它开始工作。
干杯:)