在做订餐系统的时候,我想做一个特效,如下
点击菜品图片时图片会放大
核心思路:是在原图的上面显示一个div,这个div中有image标签用于显示大图,当然div和原图不在同一个图层(通过z-index 实现).
并且div和image的width和height是相同的
- <div style="top: 150px; left: 552px; width: 400px; height: 250px; display: block;" id="loadPanel"><img src="assets/uploads/product/imgpath_1413547702_337.jpg" width="400px" height="250px"></div>
但是在IE 9 中显示有问题
IE 中出现了水平滚动条和竖直滚动条!!!
IE9的具体版本:
怎么办呢?
我的思路是:判断浏览器类型,如果是IE,则设置div的width在img的width加上3px, 设置div的height在img的height加上2px,
- showLoadPanel = function(imgSic,moveTop22,moveLeft22){
-
- var key222='assets/uploads/product';
- if(com.whuang.hsj.contains(imgSic,key222)){
- var index22=imgSic.indexOf(key222);
- imgSic=imgSic.substring(index22);
-
- }
- var widthStr=400;
- var heightStr=250;
- var childElement="<img src=\""+imgSic+"\" width=\""+widthStr+"px\" height=\""+heightStr+"px\" />";
-
- $("#loadPanel").html(childElement);
-
- $("#loadPanel").css("top",moveTop22-20);
- $("#loadPanel").css("left",moveLeft22-20);
- if(isIEtest){
- widthStr+=3;
- heightStr+=2;
- }
- $("#loadPanel").css("width",widthStr+"px");
- $("#loadPanel").css("height",heightStr+"px");
- $("#loadPanel").click(function(){
- hideLoadPanel();
- });
-
- $("#loadPanel").show('normal');
- };
div的id是loadPanel,对应的css:
- #loadPanel {
- overflow-y: auto;
- overflow-x: auto;
- /*width: 400px;*/
- /*height: 250px;*/
-
- position: absolute;
- background-color: #9C89CB;
- z-index: 99999;
- background-repeat: no-repeat;
- background-position: center;
- }
最后解决了问题: