Jquery 在Mozilla中切换后保留iframe内容滚动

Jquery 在Mozilla中切换后保留iframe内容滚动,jquery,iframe,scroll,mozilla,Jquery,Iframe,Scroll,Mozilla,我有一个包含iframe的父html页面。此iframe用div元素包装。我使用jquerytoggle函数切换这个包装div元素以隐藏/显示iframe。问题在于,切换后iframe内元素的滚动参数没有保留(如果我在某个iframe元素上设置了一些滚动条,则切换后它不会保留)。只有Mozilla问题!有什么解决办法吗?谢谢回复 您是否尝试过将iframe从DIV标记中去掉,并将您的“隐藏”状态应用于iframe本身?您可以将其设置为style=“display:none;”以显示/隐藏ifra

我有一个包含iframe的父html页面。此iframe用div元素包装。我使用jquerytoggle函数切换这个包装div元素以隐藏/显示iframe。问题在于,切换后iframe内元素的滚动参数没有保留(如果我在某个iframe元素上设置了一些滚动条,则切换后它不会保留)。只有Mozilla问题!有什么解决办法吗?谢谢回复

您是否尝试过将iframe从DIV标记中去掉,并将您的“隐藏”状态应用于iframe本身?您可以将其设置为style=“display:none;”以显示/隐藏iframe…

我遇到了类似的问题,并通过jquery更改了div的css样式,以及更改了我放置google map的iframe的位置来解决它

问题 jquery代码:

<script type="text/javascript">    
$(function(){  
        $("#map_link").click(function(event) {  
            event.preventDefault();  
            $("#map").slideToggle();
        });  
    });
</script>

$(函数(){
$(“#映射链接”)。单击(函数(事件){
event.preventDefault();
$(“#映射”).slideToggle();
});  
});
HTML: 我将链接和GoogleMapiFrame内联加载到一个带有display:noneCSS样式的div中。因为display:none样式使div的宽度为0,高度为0,所以googlemap中请求的地址不能正确显示

<a id="map_link" href="#">See map.</a>
<div id="map" style="display:none">google_map_iframe_here</div>

这里是谷歌地图
解决方案 jquery代码

<script type="text/javascript"> 
$(function() {
    $("#map_link").click(function(event) {  
        event.preventDefault();
        $("#map").slideToggle(); 
        $("#map").html('google_map_iframe_here').css('display','block');
        });  
});
</script>

$(函数(){
$(“#映射链接”)。单击(函数(事件){
event.preventDefault();
$(“#映射”).slideToggle();
$(“#map”).html('google#map_iframe_here').css('display','block');
});  
});
HTML:div,我现在用来放置地图的地方是空的,因为我只在点击链接时加载地图,而在那一刻我将css样式从display:none更改为display:block,所以地图显示得很好

<a id="map_link" href="#">See map.</a>
<div id="map" style="display:none"></div>

希望这有帮助!
祝你有愉快的一天

是的,但是同样的问题。在iframe或任何父元素设置为“显示:无”后,与iframe中的滚动元素相关的scrollLeft属性具有0。此外,如果我执行所述情况,然后按顺序刷新页面,scrollLeft值将在0和原始值(切换前的值)之间切换.我想这可能是在Gecko 2中修复的;至少,我无法复制这个错误。另一方面,我并不惊讶它在旧版本中不起作用,因为滚动位置很可能保存在视图的某个部分,当您将显示设置为“无”时,该部分将被破坏。