自己做的一个漂浮广告代码,在谷歌浏览器下一切正常,在ie 火狐下就不正常
最后发现原因 var window_width = $(window).width();//当前窗口的宽度
var window_height = $(window).height();//当前窗口的高度
这行代码在三个浏览器里取值不一样 火狐是:本段落的偏移是 1440 left 和 107 top。
ie是本段落的偏移是 0 left 和 0 top。谷歌是本段落的偏移是 1440 left 和 799 top。
怎么才能不判断浏览器 有效的解决这个问题呢
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="jquery-1.9.0.js"></script>
<script>
$(document).ready(function(){ sssss();//页面加载完成后执行sssss
});
var T_step=1;
var L_step=1;
function sssss(){
var obj = $("#float_younker");
var scroll_left=$("body").scrollLeft(); //滚动条向右滚动的距离
var scroll_top=$("body").scrollTop();//滚动条向下滚动的距离
var window_width = $(window).width();//当前窗口的宽度
var window_height = $(window).height();//当前窗口的高度
var obj_width = obj.width(); //当前漂浮对象的宽度
var obj_height =obj.height(); //当前漂浮对象的高度
var obj_left = parseInt(obj.css("left"));//当前漂浮对象距离body体左边距离
var obj_top = parseInt(obj.css("top"));//当前漂浮对象距离body体顶部距离
if(obj_left>window_width+scroll_left-obj_width){L_step=-1;}//如果漂浮对象距离body体左边距离超出了窗口右侧滚动条,变为步进递减
if(obj_top>window_height+scroll_top-obj_height){T_step=-1;}//如果漂浮对象距离body体顶部距离超出了窗口下边,变为步进递减
if(obj_left<scroll_left){L_step=1;}//如果对象到了当前窗口最左边,步进递增
if(obj_top<scroll_top){T_step=1;}//如果对象到了当前窗口做顶部 步进递增
obj_left = obj_left+(3*L_step);
obj_top = obj_top+(3*T_step);
$("#float_younker").stop().animate({"left":obj_left,"top":obj_top},1);
$(".html_").html(obj_top);
$("#span1").text(window_width);
$("#span2").text(window_height);
setTimeout("sssss()",.5);
};
</script>
</head >
<body>
<div id="float_younker" style="position:absolute;left:100px;top:600px;margin:0;padding:0">
<a href="#" target="_blank">
<img alt="javascript 图片漂浮广告代码" src="a.jpg" border="0">
</a>
</div>
<div class="html_"></div>
<p>本段落的偏移是 <span id="span1">unknown</span> left 和 <span id="span2">unknown</span> top。</p>
<button>获得 offset</button>
</body>
</html>JavaScriptHTML浏览器
最后发现原因 var window_width = $(window).width();//当前窗口的宽度
var window_height = $(window).height();//当前窗口的高度
这行代码在三个浏览器里取值不一样 火狐是:本段落的偏移是 1440 left 和 107 top。
ie是本段落的偏移是 0 left 和 0 top。谷歌是本段落的偏移是 1440 left 和 799 top。
怎么才能不判断浏览器 有效的解决这个问题呢
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="jquery-1.9.0.js"></script>
<script>
$(document).ready(function(){ sssss();//页面加载完成后执行sssss
});
var T_step=1;
var L_step=1;
function sssss(){
var obj = $("#float_younker");
var scroll_left=$("body").scrollLeft(); //滚动条向右滚动的距离
var scroll_top=$("body").scrollTop();//滚动条向下滚动的距离
var window_width = $(window).width();//当前窗口的宽度
var window_height = $(window).height();//当前窗口的高度
var obj_width = obj.width(); //当前漂浮对象的宽度
var obj_height =obj.height(); //当前漂浮对象的高度
var obj_left = parseInt(obj.css("left"));//当前漂浮对象距离body体左边距离
var obj_top = parseInt(obj.css("top"));//当前漂浮对象距离body体顶部距离
if(obj_left>window_width+scroll_left-obj_width){L_step=-1;}//如果漂浮对象距离body体左边距离超出了窗口右侧滚动条,变为步进递减
if(obj_top>window_height+scroll_top-obj_height){T_step=-1;}//如果漂浮对象距离body体顶部距离超出了窗口下边,变为步进递减
if(obj_left<scroll_left){L_step=1;}//如果对象到了当前窗口最左边,步进递增
if(obj_top<scroll_top){T_step=1;}//如果对象到了当前窗口做顶部 步进递增
obj_left = obj_left+(3*L_step);
obj_top = obj_top+(3*T_step);
$("#float_younker").stop().animate({"left":obj_left,"top":obj_top},1);
$(".html_").html(obj_top);
$("#span1").text(window_width);
$("#span2").text(window_height);
setTimeout("sssss()",.5);
};
</script>
</head >
<body>
<div id="float_younker" style="position:absolute;left:100px;top:600px;margin:0;padding:0">
<a href="#" target="_blank">
<img alt="javascript 图片漂浮广告代码" src="a.jpg" border="0">
</a>
</div>
<div class="html_"></div>
<p>本段落的偏移是 <span id="span1">unknown</span> left 和 <span id="span2">unknown</span> top。</p>
<button>获得 offset</button>
</body>
</html>JavaScriptHTML浏览器
解决方案 »
- google map 中画圆.
- 问个jquery.comet问题
- javascript动态表格 固定问题,请帮忙!
- <textarea onpropertychange="value=value">dddddddd </textarea> 为什么报错?
- 正则表达式的写法,请高手帮忙,分不够再加
- javascript的参数传递问题。
- <input type="file" ..>要求弹出的对话框只列出.txt文件 在线等!!!
- 在一个from里的text,当按下回车时怎么样不提交表单!
- 想要实现一个在同一窗口打开不同页面的效果,请高手指教。最好有代码,重分相送!
- 怎么才能使页面打开时没有菜单、工具条等等,不是在打开的连接处控制,是在该页面里
- javascript变量赋值el表达式出错
- 如何添加复制全文的代码?
<style type="text/css">
html , body { height:100%; }
</style>
然后用这人上试试
var window_width = $(document.body).outerWidth(true)//当前窗口的宽度
var window_height = $(document.body).outerHeight();//当前窗口的高度
var style="";
if(document.defaultView&&document.defaultView.getComputedStyle){
style=document.defaultView.getComputedStyle(dom);
}else{
style=dom.currentStyle;
}
style={
'left':style.left=="auto"?dom.offsetLeft:style.left,
'top':style.top=="auto"?dom.offsetTop:style.top
}
return style;
}
window.onload=function(){
var p=document.getElementsByTagName("p")[0];
var s1=document.getElementById("span1");
var s2=document.getElementById("span2");
var style=getStyle(p);
s1.innerHTML=style.left;
s2.innerHTML=style.top;
}
这样试试