'style.width'为空或不是对象

aip00 2011-09-07 02:12:10
leftpop和centerpop是input

var left = $("#leftpop").style.width+$("#centerpop").style.width;这句运行后出现标题那句话,怎么解决
...全文
195 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
BLUE_LG 2011-09-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ycmjh2010 的回复:]
引用 5 楼 aip00 的回复:

var left = $("#leftpop").width()+$("#centerpop").width();

运行后返回“参数无效”

那就var left =parseInt( $("#leftpop").css("width"))+parseInt($("#centerpop").css("width"));
试下
[/Quote]
顶一个,正解。。。
光曰不日 2011-09-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 aip00 的回复:]

var left = $("#leftpop").width()+$("#centerpop").width();

运行后返回“参数无效”
[/Quote]
那就var left =parseInt( $("#leftpop").css("width"))+parseInt($("#centerpop").css("width"));
试下
aip00 2011-09-07
  • 打赏
  • 举报
回复
js代码:

$(document).ready(function(){
//1.点击俺就可以在屏幕中间显示一个窗口
//2.点击按钮2可以在屏幕的左下角显示一个窗口
//3.页面装载完成后,可以在屏幕右下角飘上一个窗口,并且窗口慢慢淡出
$(".title img").click(function(){
$(this).parent().parent().hide("slow");
});

$("#centerpop").click(function(){
var browserwidth = $(window).width(); //获取屏幕宽度
var browserheight = $(window).height();
var cwinwidth = $("#center").width(); //获取#center的宽度
var cwinheight = $("#center").height();
var scrollleft = $(window).scrollLeft();//获取滚动条左边界值
var scrollright = $(window).scrollTop();
//var left = (browserwidth-cwinwidth)/2;
//var top = (browserheight-cwinheight)/2;
var lpop= $("#leftpop").width();
var cpop=$("#centerpop").width();
var left = lpop+cpop;
$("#center").css("left",left).css("top",top).show("slow");
});
});

css


.right{float:right;}
.window{background:#fff333;width:250px;padding:2px;margin:5px;position:absolute; display:none;}
.content{height:150px;background:white;padding:2px;overflow:auto;}
.title{padding:2px;font-size:14px;}
.title img{width:15px; height:15px;}
#leftpop{width:100px; height:20px; line-height:20px;border:1px solid #ccc;}
#centerpop{width:auto; height:20px; line-height:20px;border:1px solid #ccc; background:#999;}


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href= "window.css" rel = "stylesheet" type = "text/css" />
<script type = "text/javascript" src = "jquery.js"></script>
<script type = "text/javascript" src = "window.js"></script>
</head>

<body>
<input type="button" value= "左下角显示窗口" id ="leftpop" />
<input type="button" value= "屏幕中间显示窗口" id ="centerpop" />

<div class="window" id="center"> <!--中-->
<div class="title">
我是中间的窗口标题
<img class="right" src="" height="15" width="15" alt="关闭" />
</div>
<div class="content">
我是中间窗口的内容区
</div>
</div>
</body>
</html>
aip00 2011-09-07
  • 打赏
  • 举报
回复
var left = $("#leftpop").width()+$("#centerpop").width();

运行后返回“参数无效”
光曰不日 2011-09-07
  • 打赏
  • 举报
回复
晕,难道不应该这么写么?:
jquery:

var left = $("#leftpop").width()+$("#centerpop").width()
挨踢直男 2011-09-07
  • 打赏
  • 举报
回复
$("#centerpop").style.width;
$("#xxx")返回的是个jquery对象,他没有 style之类的属性
他是个数组 可以 $("#xxx").get(0)或 $("#xxx")[0]取得dom对象,然后用 style.width访问
豆虫 2011-09-07
  • 打赏
  • 举报
回复
var left = $("#leftpop")[0].style.width+$("#centerpop")[0].style.width
001007009 2011-09-07
  • 打赏
  • 举报
回复
var left = $("#leftpop").style.width+$("#centerpop").style.width;

改成

var left = $("#leftpop").width()+$("#centerpop").width();

分清jq对象和dom对象

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧