这可能是一个非常基本的问题,但我似乎在插入jquery插件时遇到了问题。 问题似乎是脚本,css和图像的位置,并确保css具有正确的图像URL。
标准插件具有以下文件夹结构(例如:JPicker)
我的项目是asp.net mvc所以我有默认值:
所以,我尝试将jquery插件拆分到相应的文件夹(不确定这是否是最好的方法?)。 然后我尝试纠正css中对图像(背景网址)的引用。我相信url是相对于实现css文件的页面,而不是css文件本身的位置。
无论如何,当我尝试上述操作时,插件似乎无法正常工作。我认为问题在于未找到图像。 jquery代码运行没有错误,所以我认为这不是问题。
非常感谢任何帮助/建议
答案 0 :(得分:3)
在CSS中,图像需要与关联到CSS文件,以便修复其他插件。但是......这不是jPicker特有的问题。出于某种原因,该插件直接在.js
中引用文件。它有一个硬编码的图像路径,你可以在这里的代码中找到:
clientPath: '/jPicker/images/'
要覆盖它,当您调用jPicker时,请设置如下路径:
$('#myPicker').jPicker({images:{clientPath:'/images/'}});
答案 1 :(得分:1)
这是jPicker插件开发人员Chris Tillman。我想回答一下为什么脚本使用clientPath选项引用文件。
直接引用文件而不是仅使用包含的CSS文件的原因是针对IE5.5 / 6。如果不使用过滤器,它们不支持半透明,我需要图像的文件路径来设置过滤器。如果我可以消除它,那么它可以从CSS文件链接。
我总是建议对clientPath使用绝对路径,因为在JavaScript中,当我获得这些图像位置时,它们将与运行页面相关,而不是与JS文件相关。这意味着如果您使用相对路径并且在不同位置有两个页面,则需要两个图像副本。
但是,您可以拆分css和图像文件,并将clientPath指向图像文件夹。我不使用clientPath来查看任何css或js文件。只需在页面中引用CSS和JS的正确位置,并将clientPath设置为图像所在的文件夹。