浏览 5269 次
锁定老帖子 主题:如何解决ie中拖拽图层时,图层闪烁问题。
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-09-05
主地图面板时依靠背景图片来作为地图的背景的。但是当拖拽主地图面板的时候此面板发生闪烁的现象,在ff下面没有这种情况,但是在IE下确不停的闪烁。拖拽的代码如下: BGPanelListener.prototype.doDragMap = function(e); { var mapModel = this.mapModel; var bgPanelDiv = this.widget.bgPanelDiv; var orgOffsetX = getOffset(bgPanelDiv.style.left);; var orgOffsetY = getOffset(bgPanelDiv.style.top);; var originPoint = documentCoord(e);; /*if(bgPanelDiv.setCapture); { bgPanelDiv.setCapture();; } else if (window.captureEvents); { window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);; }*/ bgPanelDiv.style.cursor = "move"; bgPanelDiv.onmousemove = function(e); { var newPoint = documentCoord(e);; bgPanelDiv.style.left = (orgOffsetX + newPoint.x - originPoint.x);; bgPanelDiv.style.top = (orgOffsetY + newPoint.y - originPoint.y);; } bgPanelDiv.onmouseup = function(e); { /*if(bgPanelDiv.releaseCapture); { bgPanelDiv.releaseCapture();; } else if (window.captureEvents); { window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);; }*/ bgPanelDiv.onmousemove = null; bgPanelDiv.onmouseup = null; bgPanelDiv.style.cursor = ""; var newPoint = documentCoord(e);; var offsetPoint = newPoint.sub(originPoint);; var curPoint = mapModel.curCenter.toPixPoint(mapModel);.sub(offsetPoint);; mapModel.curCenter = curPoint.toRatePoint(mapModel);; mapModel.reSet();; Command.exec(e, mapModel.id, "endDragMap");; } } 本人所想的,是不是因为ie和ff对dom时间处理会有些差异,但是我对这些也不是很清楚,查了一些文档也没有说明,还是希望有遇到过这个问题的朋友能解答一二,谢谢了。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-09-05
bgPanelDiv.onmousemove=function(){
return false; } onmousedown/onmouseup/onmousemove 都加return flase; 这些拖拉代码一找一砣,自己写干吗? |
|
返回顶楼 | |
发表时间:2006-09-06
。。比较郁闷,我把IE的缓存清空后就不再出现闪烁的情况了。
|
|
返回顶楼 | |
发表时间:2006-09-06
scriptaculous里面有很好用的dragdrop方法.
|
|
返回顶楼 | |
发表时间:2006-09-08
试了一把scriptaculous里面的dragdrop,感觉很爽,就是后台提交有些慢
|
|
返回顶楼 | |
发表时间:2006-09-14
It is the famous bug of IE..
http://www.jroller.com/page/zluspai?entry=fixing_ie_cache_bug_hits |
|
返回顶楼 | |