load()+ Lightbox仅在IE 8上不起作用

时间:2011-01-09 02:35:11

标签: jquery-plugins jquery

这一次,它与我以前的帖子略有不同。所以我决定换一个新的。

仅供参考,我使用Lightbox插件: http://leandrovieira.com/projects/jquery/lightbox/

ePC.html =包含带有灯箱效果的图片(适用于IE,Chrome,Firefox)。

reviews.html =主页。连接到scripts / script.js。 (包含.load()函数,通过单击其中一个链接加载ePhone.html或ePC.html)。请忽略“ePhone.html”。 以下是scripts / script.js文件:

$(document).ready(function() {
    //ePhone link is clicked. Open ePhone.html PLEASE IGNORE THIS LINK.
    $('#linkEPhone').click(function() {
        $('#apDiv2').load('ePhone.html');
    });

    //ePC link is clicked. Open ePC.html
    $('#linkEPC').click(function() {
        $('#apDiv2').load('ePC.html', function () {
             $('a[@rel*=lightbox]').lightBox();
       });

    });

    //ePC2 link is clicked. Open the <div> section of ePC.html. The image is located inside the <div> section.
    $('#linkEPC2').click(function() {
                $('#apDiv2').load('ePC.html #content', function () {
                 $("head").append($("<link rel='stylesheet' href='css/jquery.lightbox-0.5.css' type='text/css' media='screen' />"));
                 $.getScript('js/jquery.js', function() {
                  $.getScript('js/jquery.lightbox-0.5.js', function() {
                         $('a[@rel*=lightbox]').lightBox();
                 });
                });
       });

    });
});

问题在于上面的第三个问题:  $('#apDiv2')。load('ePC.html #content',function(){...

'#content为id。并且图片位于“ePC.html”

中的标签内
<div id=content>
<a rel="lightbox" href="images/bird.jpg"><img src="images/bird_s.jpg" width="72" height="72" alt="" /></a>
</div>

它在Chorme和Firefox上运行100%,但不是Internet Explorer 8 !!!! (我明白为什么人们现在讨厌IE ..) IE崩溃了!我后来删除了!DOCTYPE..within“reviews.html”修复了这个崩溃的问题。 好了!删除了DOCTYPE,IE不再崩溃了。但是,灯箱CSS不适用于图像!

我尝试但无效的其他方法: * 1。 “live”而不是“load”: *

$('#linkEPC2').click(function() {
                    $('#apDiv2').live('load', 'ePC.html, #content', function(){
                     $("head").append($("<link rel='stylesheet' href='css/jquery.lightbox-0.5.css' type='text/css' media='screen' />"));
                     $.getScript('js/jquery.js', function() {
                      $.getScript('js/jquery.lightbox-0.5.js', function() {
                             $('a[@rel*=lightbox]').lightBox();
                     });
                    });
           });

        });

这个根本不起作用。甚至图像根本不存在。 所以我想我可能会坚持使用“load()”函数。

2。我也尝试将这3行放入div部分:

<div id=content>
<link rel="stylesheet" type="text/css" href="css/jquery.lightbox-0.5.css" media="screen" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.lightbox-0.5.js"></script>
    <a rel="lightbox" href="images/bird.jpg"><img src="images/bird_s.jpg" width="72" height="72" alt="" /></a>
    </div>

但它既不起作用..

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,并注意到IE中jQuery加载的一些事情:

  1. 它不接受“load("href selector",function()...”的语法(而chrome和FireFox都接受此语法)。
  2. 加载的html不应包含标记。