监视DOM 是否可见 ,并触发相应事件
很多出插件在容器不可见时,获取不到宽高,导致异常,---------多件于多个选项卡存在的情况如何是好 ============>监测 属性变化 就像 onchange 哪样 ========>但是由于各个浏览器之间对 onproperchange 类型的函数,完善的不理想 ,所以真心没什么办法,Ie的确有这方面的函数onproperchange 但是我用的就是
·
很多出插件在容器不可见时,获取不到宽高,导致异常,---------多件于多个选项卡存在的情况
如何是好 ============>监测 属性变化 就像 onchange 哪样 ========>但是
由于各个浏览器之间对 onproperchange 类型的函数,完善的不理想 ,所以真心没什么办法,Ie的确有这方面的函数
onproperchange
但是我用的就是 chrome 和 firefox 只能自己想办法: 想了一个比较low的办法:
var interval=[];
function visibleSetCenter() {
console.log(new Date().getSeconds())
if ($("body").is(':visible') == true) {
console.log('show');
SetMapCenter()
if (interval.length) {
for (var i in interval) {
window.clearInterval(interval[i]);
}
interval = [];
}
}
else {
if (!interval.length) {
interval.push(window.setInterval(visibleSetCenter, 1000))
}
}
}
function SetMapCenter(){
var point = new BMap.Point(maplng, maplat); // 创建点坐标
map.centerAndZoom(point, mapzoom); // 初始化地图,设置中心点坐标和缩放级别
}
在加载完成后运行一次 visibleSetCenter 函数 (当前页面很可能存在于,第n个选项卡中,打开后处于不可见状态)
如果可见那就一切安好, 要是不可见 ==>那就是开启定时器直到页面可见或者被销毁为止,那么现在只要进入这个页面,就会重新定位到目标点位置
完成
更多推荐
已为社区贡献1条内容
所有评论(0)