首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Photoswipe:使用photoswipe的iframe中的火灾事件

Photoswipe:使用photoswipe的iframe中的火灾事件
EN

Stack Overflow用户
提问于 2013-05-13 21:32:49
回答 1查看 761关注 0票数 1

在一个网站中,我有一个iframe,其中包含一个photoswipe应用程序,它在启动时是全屏的。现在,应该从iframe外部控制photoswipe幻灯片。我在主站点中有以下代码:

代码语言:javascript
复制
<iframe src="test.html" id="iframe" width="1440" height="1080" name="iframe" scrolling="no" frameBorder="0" ></iframe>
<div id="ruck" ><a href="#" onClick="document.getElementById('iframe').contentWindow.previous();"><img src="img/rueck.png" /></a></div>
<div id="vor" ><a href="#" onClick="document.getElementById('iframe').contentWindow.next();"><img src="img/vor.png" /></a></div>

iframe中的代码如下:

代码语言:javascript
复制
<html>
<head>
    <link href="http://code.jquery.com/mobile/1.0rc2/jquery.mobile-1.0rc2.min.css" rel="stylesheet" />
    <link href="photoswipe.css" type="text/css" rel="stylesheet" />
    <script type="text/javascript" src="klass.min.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/mobile/1.0rc2/jquery.mobile-1.0rc2.min.js"></script>
    <script type="text/javascript" src="code.photoswipe.jquery-3.0.4.min.js"></script>
    <script type="text/javascript">
        (function(window, $, PhotoSwipe)
        {
            $(document).ready(function()
            {
                 var myPhotoSwipe = $("#gallery a").photoSwipe(
                {
                    enableMouseWheel: false,
                    enableKeyboard: false,
                    captionAndToolbarHide: false
                });

                $("#gallery a:first").click();
            });
        }
        (window, window.jQuery, window.Code.PhotoSwipe));

function previous()
{
myPhotoSwipe.previous(); 
}

function next()
{
myPhotoSwipe.next(); 
}       
</script>
</head>
<body>
<div id="gallery">      
            <a href="demo/image001.jpg" rel="external"></a>
            <a href="demo/image002.jpg" rel="external"></a>
            <a href="demo/image003.jpg" rel="external"></a> 
        </div>
</body>
</html>

在这里,当我点击下一步,上一步按钮时,我得到了一个错误: ReferenceError: myPhotoSwipe没有定义myPhotoSwipe.next();

如您所见,事件正在触发,但函数myPhotoSwipe.next()未定义。对于运行中的代码,有什么想法需要修改吗?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-05-13 21:35:54

我想说你有一个作用域问题:

代码语言:javascript
复制
var myPhotoSwipe; //set here to reference it on global scope
(function(window, $, PhotoSwipe)
        {
            $(document).ready(function()
            {
                 myPhotoSwipe = $("#gallery a").photoSwipe(
                {
                    enableMouseWheel: false,
                    enableKeyboard: false,
                    captionAndToolbarHide: false
                });

                $("#gallery a:first").click();
            });
        }
        (window, window.jQuery, window.Code.PhotoSwipe));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16523390

复制
相关文章

相似问题

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