Javascript Jquery仅在IE上不工作(高级滑块)

Javascript Jquery仅在IE上不工作(高级滑块),javascript,jquery,html,css,drupal,Javascript,Jquery,Html,Css,Drupal,有人能帮我为IE工作吗 我收到一条错误消息(仅在IE版本上),指出jquery文件的第1行第1列中有一条错误消息 现在,我已经检查了购买的其他脚本,它们在IE上工作。然而,我的脚本一直崩溃。有人能告诉我有什么问题吗,因为我遵循了文档中的所有说明。(适用于Firefox、Chrome、Safari和Opera)这并不是一个确切的答案,而是一个有根据的猜测 如果您确实可以访问IE9,您可以将文档模式设置为IE8或IE7,然后在“脚本”选项卡下,您应该有一个“开始调试”按钮。当它被设置为IE8或IE7

有人能帮我为IE工作吗

我收到一条错误消息(仅在IE版本上),指出jquery文件的第1行第1列中有一条错误消息


现在,我已经检查了购买的其他脚本,它们在IE上工作。然而,我的脚本一直崩溃。有人能告诉我有什么问题吗,因为我遵循了文档中的所有说明。(适用于Firefox、Chrome、Safari和Opera)

这并不是一个确切的答案,而是一个有根据的猜测

如果您确实可以访问IE9,您可以将文档模式设置为IE8或IE7,然后在“脚本”选项卡下,您应该有一个“开始调试”按钮。当它被设置为IE8或IE7时,一条语句高亮显示
d[f]=c
,您可以通过settinc看到
d
是一个
DispHTMLStyle
(一些DOM节点的样式对象(如
div
或其他),
f
字符串
宽度
c
是一个
数字
,值为
NaN
(缩写为“nota Number”)。您还有一个调用堆栈,其中我看到了(重新格式化)

注意,您已经在文档中设置好了!CSS可能还没有加载

我怀疑将宽度设置为实际数值可能会解决您的问题

在加载所有样式规则之前,通常不会保证html页面上的任何内容都有宽度。即使是内联样式也可能被否决。因此,使用
100%
width
可能毫无意义。我认为这也取决于浏览器如何解释该值

您还可以尝试将其从文档
ready
处理程序移动到窗口
load
处理程序,并查看发生了什么。通过这样做,您还可以手动启动一些jQuery以获取某个对象的宽度,如果您想保持对样式规则的依赖性,则可以使用该值rse是指在加载滑块或其他工件之前,可能会显示一些不需要的内容。

所以,长话短说,试着手动为该宽度编码一个固定值,然后从那里决定

编辑:好的,很抱歉这不起作用。我可以清楚地看到源代码是不同的,但它也是相同类型的错误(语句
d[f]=c
,对象/值与以前相同。)

进一步检查后,在调用堆栈上,我们有一条语句
c.css(“width”,parseInt(c.data(“width”);
。局部变量
c
似乎是一个jQuery对象,它用类“滑动按钮”包装一个div.我似乎还记得前面提到的那句话,但并没有像我可能需要的那样深入研究。所以我的第二个猜测是,这与他们(不知何故)有关

我还四处搜索并发现,我将假设这就是您正在使用的,虽然我没有看到任何明确的文档(我认为,这对于付费使用插件来说是有意义的),我确实在评论部分看到人们毫无怨言地使用
width:'100%'
等值,并且演示确实在IE8浏览器模式下运行,使用
jQuery(document)。就绪(…)
初始化滑块…因此,几乎推翻了我之前的所有其他理论(抱歉!)。但我确实认为幻灯片按钮需要一个宽度。在
c.css(“宽度”,…)
行周围的“美化”代码如下(我对正在发生的事情进行了注释):

当调用该代码时,c.css(“width”)返回“auto”,这显然不能作为一个数字进行解析。当然,问题是,为什么IE8和更低版本会返回类似“auto”的东西,而其他浏览器不会?答案可能是“旧版IE在该场景中就是这样做的。”

我还注意到,演示也没有使用滑块按钮,因此您可能正在使用一个场景,该小部件的开发人员在您获取该小部件的源代码文件时可能还没有找到并发布一个干净的解决方案

所以,如果您不想阅读我刚才添加的所有内容,可以尝试添加css规则,如

.advanced-slider .slide-buttons {
    width: 400px;
}

这不是一个确切的答案,更像是一个有根据的猜测

如果您确实可以访问IE9,您可以将文档模式设置为IE8或IE7,然后在“脚本”选项卡下,您应该有一个“开始调试”按钮。当它设置为IE8或IE7时,一条语句高亮显示
d[f]=c
,您可以通过设置tinc watchs
d
看到它是一个
DispHTMLStyle
(某些DOM节点(如
div
或其他什么)的样式对象,
f
字符串
宽度
,而
c
是一个
数字
,其值为
NaN
(非数字的缩写)。您还有一个调用堆栈,在其中我看到了(重新格式化)

注意,您已经在文档中设置好了!CSS可能还没有加载

我怀疑将宽度设置为实际数值可能会解决您的问题

在加载所有样式规则之前,通常不会保证html页面上的任何内容都有宽度。即使是内联样式也可能被否决。因此,使用
100%
width
可能毫无意义。我认为这也取决于浏览器如何解释该值

您还可以尝试将其从文档
ready
处理程序移动到窗口
load
处理程序,并查看发生了什么。通过这样做,您还可以手动启动一些jQuery以获取某个对象的宽度,如果您想保持对样式规则的依赖性,则可以使用该值rse是指在加载滑块或其他工件之前,可能会显示一些不需要的内容。

那么,再见
c = M.find(".slide-buttons");  //jquery find under M something with class slide buttons
//if the element doesn't have "width data"
//grab values from the style rules using jQuery .css http://api.jquery.com/css/
if (!c.data("width"))
{
    c.data("width", parseInt(c.css("width")));
    c.data("height", parseInt(c.css("height")))
}
//find other things (odd, why is there no period?)
d = c.find("buttons-middle");
f = d.find("buttons-inner");
//directly assign back those same values possibly obtained earlier 
c.css("width", parseInt(c.data("width")));
c.css("height", parseInt(c.data("height")));
.advanced-slider .slide-buttons {
    width: 400px;
}