Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用单击和窗口散列在显示模式中重新初始化Zurb均衡器_Javascript_Jquery_Html_Zurb Foundation - Fatal编程技术网

Javascript 使用单击和窗口散列在显示模式中重新初始化Zurb均衡器

Javascript 使用单击和窗口散列在显示模式中重新初始化Zurb均衡器,javascript,jquery,html,zurb-foundation,Javascript,Jquery,Html,Zurb Foundation,我有个小问题,希望有人能伸出援助之手。我使用的是Zurbs显示模式,但由于一个或多个原因,我选择只使用id=“myModal”而不是使用数据属性 正因为如此,我在通过点击或哈希窗口触发器触发模式后尝试重新初始化均衡器时遇到了一些问题 我的HTML看起来像: <a class="about" href="#about"></a> <div id="about" class="reveal-modal" data-reveal> <div clas

我有个小问题,希望有人能伸出援助之手。我使用的是Zurbs显示模式,但由于一个或多个原因,我选择只使用
id=“myModal”
而不是使用数据属性

正因为如此,我在通过点击或哈希窗口触发器触发模式后尝试重新初始化均衡器时遇到了一些问题

我的HTML看起来像:

<a class="about" href="#about"></a>

<div id="about" class="reveal-modal" data-reveal>
    <div class="row" data-equalizer>
        <div class="large-6 columns" data-equalizer-watch> </div>
        <div class="large-6 columns" data-equalizer-watch> </div>
    </div>
<a href="#" class="close"></a>
</div>
(function($){    
    $(document).foundation({reveal:animation_speed:400,root_element:".bContent"}});
    $("a.about").on("click",function()$("#about").foundation("reveal","open")});
    $("a.close").on("click",function()$("#about").foundation("reveal","close")});
    $(document).ready(function(){var a=$(window.location.hash);a.length>0&&a.hasClass("reveal-modal")&&a.foundation("reveal","open")});
})(jQuery);
我需要的是

单击和窗口位置上的触发器都能很好地工作,我希望它在单击后或在window.location.hash期间重新初始化均衡器,我不是使用JavaScript的最佳人选,但我已经尽了最大努力,我尝试过的一些失败尝试如下所示:

$('.reveal modal').hasClass('open')foundation.libs.equalizer.reflow()

对于窗口位置哈希,请执行以下操作:

$(document).ready(function(){var a=$(window.location.hash);a.length>0&&a.hasClass("reveal-modal")&&a.foundation("reflow")});

我哪里出错了!提前谢谢

应设置并指定均衡器是否应在元素堆叠后使其高度相等

$(document).foundation({
    equalizer : {
        equalize_on_stack: true
    }
)}
然后在开口处进行回流焊:

$(document).foundation({
    equalizer : {
        equalize_on_stack: true
    }
)}
$(document).on('opened.fndtn.reveal', '#about', function () {
    Foundation.libs.equalizer.reflow();
});