首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从div加载Lightbox2

从div加载Lightbox2
EN

Stack Overflow用户
提问于 2015-10-02 18:53:00
回答 1查看 961关注 0票数 1

我已经创建了一个带有几个div的网站,这些div都加载了jQuery。在其中一个div中,我有可点击的图像缩略图,它使用Lightbox2脚本在lightbox中显示图像。

问题是,当我再次单击在div中加载图像缩略图的链接时,一个空白的lightbox appears.To清楚地表明:在第二次单击时,带有图像缩略图的div已经加载。

我认为发生错误是因为我已经加载了div中的图像,并且第二次加载以某种方式触发了lightbox2脚本。但是我每次点击都会清除div,所以这是不可能的。

我如何才能阻止这种情况的发生?

代码:

loader.js (点击后在div中显示内容的脚本,#rightinfo =带图片的右div)

代码语言:javascript
复制
$(document).on('click', '#main a[name="inner"]', function () {
		var page = $(this).attr('href');
		var hash = $(this).attr('href').replace(/^.*?(#|$)/,'');
		image = new Image();
            	image.src = 'timelines/' + hash + '.jpg';
		// alert(hash);
		image.onload = function () {
        		$('#timeline').empty().append(image);
			$('#rightinfo').empty();
	    	};
		image.onerror = function () {
	        	$('#timeline').empty().html('Geen tijdlijn beschikbaar.');
			$('#rightinfo').empty();
		}

    		$('#timeline').empty().html('Loading...');
		$('#rightinfo').empty().html('Loading...');

		$('#main').load('content/' + page);
		$('#rightinfo').load('info/' + hash + '.html');

		// $('.lijn').hide();
		// $(hash).show();		
		return false;
	});

在rightinfo-div中加载的html页面代码,用于显示lightbox和图像:

代码语言:javascript
复制
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link href="lightbox/css/lightbox.css" rel="stylesheet">
<script src="lightbox/js/lightbox.js"></script>

</head>
<body>

<i>Nieuw-Beijerland in 1650</i><p>
<a href="images/Nieuw-BeijerlandDorp1650.jpg" data-lightbox="NBDorp1650"><img src="timthumb.php?src=images/Nieuw-BeijerlandDorp1650.jpg&q=100&h=150"></a><p> 

<a href="images/Nieuw-BeijerlandKerk1650.jpg" data-lightbox="NBKerk1650"><img src="timthumb.php?src=images/Nieuw-BeijerlandKerk1650.jpg&q=100&h=150"></a><p>

</body>

</html>

我已经检查过了,用来制作拇指的timthumb.php没有改变lightbox的行为。

EN

回答 1

Stack Overflow用户

发布于 2015-10-02 20:33:53

这样啊,原来是这么回事!

解决方案是将lightbox.js脚本从使用jQuery加载到div rightinfo的html页面直接移动到index.php页面上的div中,如下所示:

代码语言:javascript
复制
<div id="rightinfo">
<script src="lightbox/js/lightbox.js"></script>
</div>

我还从加载到rightinfo div中的html页面中删除了所有html标记,因为它是否存在似乎并不重要。rightinfo div中的htmlpage现在如下所示:

代码语言:javascript
复制
<link href="lightbox/css/lightbox.css" rel="stylesheet">


<i>Nieuw-Beijerland in 1650</i><p>
<a href="images/Nieuw-BeijerlandDorp1650.jpg" data-lightbox="NBDorp1650"><img src="timthumb.php?src=images/Nieuw-BeijerlandDorp1650.jpg&q=100&h=150"></a><p> 

<a href="images/Nieuw-BeijerlandKerk1650.jpg" data-lightbox="NBKerk1650"><img src="timthumb.php?src=images/Nieuw-BeijerlandKerk1650.jpg&q=100&h=150"></a><p>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32905617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档