【问题标题】:Passing variable from fancybox to parent page when closing fancybox关闭fancybox时将变量从fancybox传递到父页面
【发布时间】:2014-04-11 16:12:27
【问题描述】:

您好,我正在尝试将变量从子 iframe fancybox 发送到父级。但我似乎无法掌握如何做到这一点。有没有人有想法。我已经尝试过使用 js。有朋友建议用php做,但还没有找到解决办法。我现在一团糟。我尝试了另一个与我类似的问题答案,但没有运气。这是代码 这是在花式盒子里:

 <script type="text/javascript">
    function OnClickButton (nombre) {

        parent.$.nombre(nombre);
        parent.$.fancybox.close();

    }
</script>

<?php foreach($files1 as $file): ?>
                <?php if ($cont>1) { ?>
                  <li>

                        <a onclick="OnClickButton ('<?php echo $file;?>');" href="<?php echo $file;?>"><img style="width: 50px;" 
                            src="img/folderImg.png"></a>

                  </li>
                <?php } ?>
              <?php $cont++; endforeach ?>

这是在父页面中

function nombre (nombre) {

        name = nombre;
        alert(nombre)

    }
    $(document).ready(function() {
        $(".fancybox").fancybox();
    });
    $(document).ready(function() {
    $(".various").fancybox({
        maxWidth    : 800,
        maxHeight   : 400,
        fitToView   : false,
        width       : '70%',
        height      : '70%',
        autoSize    : false,
        closeClick  : false,
        openEffect  : 'none',
        closeEffect : 'none',
        afterClose  :   function() {

            if (name == 'folder 1') {
                $('.fancybox-thumb').fancybox().trigger('click');
            }
            if (name == 'folder 2') {
                $('.fancybox-thumb2').fancybox().trigger('click');
            }
            if (name == 'folder 3') {
                $('.fancybox-thumb3').fancybox().trigger('click');
            }

        }
    });
    });

【问题讨论】:

  • 这是什么想法:触发打开fancybox的缩略图(在父页面中)? ....您是否为每个缩略图使用不同的 fancybox 脚本?显示父页面的html
  • 你需要从一个页面打开一个fancybox并将一些变量传递给它,这有点令人困惑?
  • 我需要将一个变量从 iframe fancybox 传递到父页面以打开一个galery fancybox。出于某种原因,这将返回我文件夹 1) 与所有和)。我为每个fancybox 使用不同的fancybox 脚本。
  • 你可以使用一个脚本来满足你所有的幻想盒需求

标签: javascript php jquery html fancybox


【解决方案1】:

我会尝试两种解决方案,我不知道在你的情况下是否可以工作但非常可靠。

1) 会话存储:

将 sessionStorage 与 jquery 结合使用,您可以保存参数并稍后在任何页面中使用。

sessionStorage.setItem("nameofthestorage", yourvalue);

并获取保存的信息

var x = sessionStorage.getItem("nameofthestorage");

2) 保存一个 php 会话:

我对 php 有点生疏了,但你可以看看这个官方和简单的指南 http://www.w3schools.com/php/php_sessions.asp

【讨论】:

  • 非常感谢 XD,这正是我想要的! :D 谢谢!! :D 我会投票,但我不能,但我会把你的标记为答案
  • @Jfeuchter:值得一提“在使用此方法之前检查您的目标受众和浏览器支持caniuse.com/namevalue-storage ...并且不要忘记设置HTML5 DOCTYPE
猜你喜欢
  • 2014-07-04
  • 2011-04-09
  • 1970-01-01
  • 1970-01-01
  • 2015-04-16
  • 1970-01-01
  • 2012-05-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多