Jquery Pikachoose插件在IE中呈现异常结果

10

我在我的页面上使用了 Jquery Pikachoose 插件来展示一些图片作为幻灯片。

但是在IE中,它不会滑动图片,反而在同一页中以完整视图打开图片。

有趣的是,如果在脚本打开图片之前,我自己通过点击缩略图更改幻灯片,那么从这点开始,它就能正常工作。

如何修复这个问题。

我从数据库获取图片名称并像以下方式显示:

echo
'<div id="slideShow" class="sublayout pikachoose">
    <ul id="pikame">';
        while($row = mysql_fetch_array($result)) {
            extract($row);
            echo
            '<li>
                <a href="images/slideshow/'.$image.'">
                        <img src="images/slideshow/th_'.$image.'" title='.$title.' alt='.$title.'/>
                </a>
                <span>'.$title.'</span>
            </li>';
        }
    echo
    '</ul>
</div>';

这是我在 pikachoose.js 中的 pikachoose 选项

    var defaults = {
        show_captions: true,
        auto_play: true,
        show_prev_next: true,
        slide_speed: 5000,
        thumb_width: 26,
        thumb_height: 20,
        buttons_text: { play: "", stop: "", previous: "Previous", next: "Next" },
        delay_caption: true,
        user_thumbs: false,
        transition:[-1],
        IESafe: true
    };

我使用以下代码进行插件初始化 (也在单独的文件中)

$(document).ready(function (){ $("#pikame").PikaChoose({auto_play:true, IESafe: true}); });

在其他浏览器中可以正常工作。

发现

  1. 如果我删除 <a> 这个标签,<img> 就不会被打开。
  2. 官方页面提供的演示也有这样的行为。

你能确认一下你正在使用的 Pikachoose 版本吗?是 3.1 还是 3.3? - nathan gonzalez
它在哪个IE版本上失败了?全部都失败了吗? - GmonC
我在IE7和IE8中测试了他们的演示文稿,它在这里可以正常工作... - Guffa
@Guffa,下载的演示版本存在问题。 - Starx
3
@Starx:啊哈,你所说的“官方页面上提供的演示”并不是指官方页面上提供的演示... ;) 我下载了代码,在IE8中测试了演示,并且它在这里运行良好...我会查看一下代码... - Guffa
@Guffa,我已经测试过了,在我的系统上它仍然表现出相同的行为。 - Starx
3个回答

2
尝试添加/删除/更改HTML文档的DOCTYPE设置,因为我曾见IE由于DOCTYPE设置而引起问题。
此外,请尝试从img标签中移除结束斜杠()。
如果上述任一方法有效,则请比较工作演示和文档类型,以确定是否遗漏了正确的doctype标记...

0

你尝试设置img标签的高度/宽度了吗?以绕过IE7 Quirks。


实际上,如果我从链接的href部分中删除链接,它将不会触发。也许在脚本的某个地方,Pikachoose正在使用点击方法来在IE的情况下转到下一张幻灯片,我甚至试图找出它,但迄今为止没有运气。 - Starx

0

具体是哪个版本的IE(现在还有三个版本在使用)?根据版本不同,你可以让它向用户发出警报,让其切换到“兼容模式”。此外,如果你能确保严格的XHTML格式(标题和alt属性在代码片段中没有双引号),包括DOCTYPE声明,这可能会有所帮助。尝试使用空的a标签来插入第一张图片(只是一个没有内容的a标签,如果需要,你可以在href属性中给它一个空白/透明的图片)。


是的,我已经尝试使用doctype了,但错误几乎出现在每个版本中。 - Starx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接