2

我正在使用颜色框在弹出窗口中预览产品,但我也想在颜色框内使用Cloud Zoom。由于某种我无法弄清楚的原因,cloudzoom 在颜色框内无法工作,在常规浏览器窗口中调用时工作正常。我在发布之前搜索了一下,但这两个脚本并没有太多。也许,我需要在调用 colorbox 之后使用 onComplete:function() 但我不知道该怎么做。

这是我创建的测试页面的代码,其中云缩放在页面上可以正常工作,但在加载到彩盒时不能正常工作。这是所有文件(js,css)的链接,以防您想自己尝试一下。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test page</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript" src="./js/jquery.colorbox-min.js"></script>
<script type="text/javascript" src="./js/cloud-zoom.1.0.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $('a.items').colorbox({ width:"80%", height:"90%", href:function(){ return this.href + " #prodpreview"; }});
});
</script>
<link rel="stylesheet" type="text/css" href="./css/cloud-zoom.css" />
<link rel="stylesheet" type="text/css" href="./css/colorbox.css" />
</head>
<body>

<a href="test.php" class="items">Test</a>

<div id="prodpreview" style="margin-top:20px;">
<a href="https://www.google.com/images/srpr/logo3w.png" class="cloud-zoom" id="zoom1" rel="position:'inside', showTitle: false, adjustX:-4, adjustY:-4" style="position:relative; display:block;">
<img src="https://www.google.com/images/srpr/logo3w.png" width="150"/>
</a>
</div>
</body>
</html>
4

2 回答 2

1

试试这个:

在 html 中将锚标记替换为

<a href="#" class="items">Test</a>

并在脚本中像这样编写jquery colorbox代码

$(document).ready(function() {
    $('a.items').colorbox({ 
         width:"80%", 
         height:"90%", 
         href:"#prodpreview",
         inline:true,
         onComplete:function(){
            $('.cloud-zoom, .cloud-zoom-gallery').CloudZoom();
         }
    });
});

希望这能解决您的问题。

于 2012-06-28T16:32:46.560 回答
0

另一种方法是使用 ColorBox 的 iFrame 选项,它实质上在 ColorBox 中打开了一个新的 html 环境。里面应该没问题。

请注意,此方法需要您弄清楚如何将适当的图像放入 iframed 内容、大小等。

需要考虑的事情。

问候, KJM

于 2012-06-29T15:42:22.013 回答