关于jQuery弹出层的问题

wudao0501 2009-06-30 05:35:21
<script type="text/javascript" src="JavaScript/jquery-1.3.2.js"></script>
<script language="javascript" type="text/javascript">
//ajax调用显示内容方法
function display(id,obj)
{
$.ajax({
type:"post",
url:"MemberShowInfo.ashx",
data:"id="+escape(id),
dataType:"json",
success: function(data, textStatus){
$("#"+obj.id+"").click(function(){$(this).showMessage(data.result);});
},
error: function(XMLHttpRequest,textStatus,errorThrown){
//请求出错处理
alert("服务器发生错误,错误编号:"+XMLHttpRequest.responseText);
}
});

}
jQuery.fn.extend({
showMessage:function(html){
if($.trim(html)!=""){
//wbx是弹出层的Css样式名,用于自定义Div层的外观,弹出位置为Dom元素的下方,透明度0.8,尺寸自适应html内容的尺寸
var warndiv=$("<div></div>").addClass("wbx").html(html).css({position:"absolute",left:$(this).offset().left,top:$(this).offset().top+$(this).outerHeight(),zIndex:100}).hide().fadeTo(0,0.8);
$("body").prepend(warndiv);
//下面这段的作用是使信息弹出并停留3秒后淡出,如不需要请移除
warndiv.show("fast").animate({opacity:0.8}, 3000).fadeOut('slow',function(){$(this).remove();});
}
}
});
</script>


<a href='javascript:void(0);' id='count6' onclick='display(6,this)'><b>(1)</b></a>

调用上面的代码时第一次点超链接时不会显示层,第二次点超链接才会显示层这是为什么?请各位大大帮忙看看,谢谢了。
...全文
953 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wudao0501 2009-07-01
  • 打赏
  • 举报
回复
还有两个问题昨天忘了,如果我在showMessage:function(html)里面加入alert("123")的话,那么点几次超链接就会执行几次,这是为什么呀?还有一个问题如果超链接是循环产生的话我想每次点击超链接只会显示一个层怎么改?就是点击一个超链接以后之前显示的层消失,只显示点击的超链接所要显示的层?刚开始接触jQuery,先谢谢各位了。
wudao0501 2009-07-01
  • 打赏
  • 举报
回复
自己解决了
zsm139 2009-06-30
  • 打赏
  • 举报
回复
<a href='javascript:display(6,$("#count6"));' id='count6' <b>(1) </b> </a>

or

<a href='javascript:void(0);' id='count6' onclick='display(6,this);return false;'> <b>(1) </b> </a>

你试试,我感觉是因为a tag的href和onclick的优先权问题
monexus 2009-06-30
  • 打赏
  • 举报
回复
写错了,async:false
monexus 2009-06-30
  • 打赏
  • 举报
回复
ajax没有设置同步,加个async:true
ZiSheng 2009-06-30
  • 打赏
  • 举报
回复
$("#"+obj.id+"").click(function(){$(this).showMessage(data.result);});
后边再加一句
$("#"+obj.id+"").click();//触发单击函数,就好了。
ZiSheng 2009-06-30
  • 打赏
  • 举报
回复
你第一次点击,是进行的ajax,为你的a标签添加了单机函数,但是并没有执行,所以没有触发
第二次就触发了

52,797

社区成员

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

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