在IE≤8中更改幻灯片时,Nivo-Slider消失

时间:2013-03-01 09:44:51

标签: javascript internet-explorer-8 cross-browser nivo-slider

我正在测试滑块,它适用于Chrome和IE 9+,但在早期版本中无效。

我遇到的问题是,当前一张幻灯片被卷起时,会显示类似错误的图像(然后可以看到loading.gif)并保持两秒钟以上,直到出现下一张幻灯片。登记/> 我尝试更改动画类型,但问题仍然存在。

我应用this回答,但没有解决问题。

有任何线索吗?

我也在dev7studios发布了相同的问题,但没有回答。

enter image description here

更新 这是生成图像的方法:

private static MvcHtmlString BuildImageTag(string blobName, object htmlAttributes = null, string name = null)
{
  TagBuilder tag = new TagBuilder("img");

  var src = BlobHelper.GetBlobUri(blobName);

  tag.Attributes.Add("src", src.ToString());
  tag.Attributes.Add("name", name);
  if (htmlAttributes != null)
    tag.MergeAttributes(new RouteValueDictionary(htmlAttributes), true);

  return MvcHtmlString.Create(tag.ToString(TagRenderMode.Normal));
}

如何更改它以使结束标记分开(如this回答中的解释)?

更新2

启用JS调试后,我看到nivo滑块js文件中有一个调试器中断。

enter image description here

JS中的一行是:

u.attr("src",i.currentImage.attr("src")).show();

我甚至不确定它是否相关,但我认为它可能会有所帮助。

2 个答案:

答案 0 :(得分:3)

在您网页的源代码中,我看到了:

<img name="ImageFileName" src="https://levelblob.blob.core.windows.net/levelblob/images/slides/b0624213-f3cd-4e0f-b1ae-e5e97429b087.jpg" title=""></img>

这是无效的img标记,因为W3C指定:

  

标记为空,这意味着它只包含属性,   并且没有结束标记。

BTW,标准要求alt属性,但没有浏览器会抱怨。

所以在你的情况下,你应该重写你所有的img标签,如下所示: {no'/'在img标签的末尾,当然没有''结束标签}

 <img name="ImageFileName" src="..." title="" alt="">

另外请注意W3C提示:

  

提示:指定高度和宽度是一个好习惯   图像的属性。如果设置了这些属性,则为空格   加载页面时保留图像所需的图像。然而,   没有这些属性,浏览器不知道的大小   图片。效果将是页面布局将在期间更改   加载(图像加载时)。

不确定您的问题是来自何处,但我确信无效的HTML会导致某些问题。

<强>更新

更新后,我发现你正在使用(asp)渲染html。你应该在你的功能结束时尝试这个:

return MvcHtmlString.Create(tag.ToString(TagRenderMode.StartTag));

PS:我无法测试任何asp代码。

答案 1 :(得分:1)

网站是用HTML 5编写的吗?

我最近在我创建的网站中实现了它,它在IE 8和IE 7中都运行良好。我创建的网站是用HTML 5编写的,我为了使滑块工作而改变的唯一一件事就是改变将滑块周围的div标记为部分,然后添加HTML 5 shiv其他所有内容都来自网站。

这是我创建的site有效,所以希望这对你也有帮助

(不要有50个代表,所以不能发表评论)