Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript CSS和Java脚本冲突_Javascript_Css_Joomla - Fatal编程技术网

Javascript CSS和Java脚本冲突

Javascript CSS和Java脚本冲突,javascript,css,joomla,Javascript,Css,Joomla,我正在为Joomla网站开发一个组件。这个网站有一个复杂的模板,带有精美的css和脚本(即一些K2组件被命名),在这个组件中,我使用colorbox来显示模态图片库,但发生的是 一旦这个组件被称为CSS,模板的javascript属性和功能就会失败,导致一些页面显示磨损。 由于我还没有编写这些CSS和Java脚本,因此防止CSS和脚本之间的冲突对我来说是相当麻烦的 那么我的问题是什么 在不深入实际脚本的情况下,是否有任何方法可以防止这些脚本之间的冲突 请引导我通过这个 Thanx Prevanc

我正在为Joomla网站开发一个组件。这个网站有一个复杂的模板,带有精美的css和脚本(即一些K2组件被命名),在这个组件中,我使用colorbox来显示模态图片库,但发生的是

一旦这个组件被称为CSS,模板的javascript属性和功能就会失败,导致一些页面显示磨损。 由于我还没有编写这些CSS和Java脚本,因此防止CSS和脚本之间的冲突对我来说是相当麻烦的

那么我的问题是什么

在不深入实际脚本的情况下,是否有任何方法可以防止这些脚本之间的冲突

请引导我通过这个


Thanx Prevance

K2是Joomla的一种内容成分。框架插件或附加组件之间发生冲突并不罕见。不幸的是,你可能不得不搜索Joomla或K2论坛来寻找答案。或者,您可以尝试逐个禁用其他插件,直到冲突消失(希望如此)。

JavaScript中的主要冲突之一是MooTools(某些Joomla功能上需要)和其他JavaScript库之间的冲突。最常见的是$global变量,它通常用作DOM选择器

在MooTools中,它只按ID进行选择,而在其他库(如JQuery)中,它使用CSS选择器

因此,如果您有一个Joomla扩展来加载另一个JavaScript库,比如JQuery,那么您将遇到问题。对于JQuery,有一个特定的解决方案。

但是,对于其他库,您需要深入了解JS,或者使用提供相同功能但使用MooTools的扩展

至于CSS,唯一的解决方法是编辑CSS文件。好的扩展应该为CSS使用某种名称空间。例如,在所有CSS类前面加上组件名。或者将所有HTML包装在以组件、模块等命名的包装器元素中

如果这不存在,您必须自己添加它

可能最简单的方法是编辑HTML扩展并添加:

<div id="extension-name">
  <!-- extension HTML here -->
</div>
在所有CSS选择器之前

例如,如果您有:

.left-column {
  float: left;
}
将其更改为:

#extension-name .left-column {
  float: left;
}

您甚至可以通过正则表达式搜索和替换来自动化这个过程

我只是想问,是否有任何方法可以避免css和使用Javascript或其他方法的脚本之间的冲突?如果不接触代码,您可能会发现冲突或重叠的css(例如使用Firebug)。对于冲突的Java脚本,您需要一定的脚本语言知识水平,然后您可以进行调试跟踪(例如使用Firebug)。
#extension-name .left-column {
  float: left;
}