用AJAX实现气泡提示
来源:百度文库 编辑:神马文学网 时间:2024/04/28 22:53:25
这个效果的实现是以网站http://www.panic.com/coda/为模仿对象(选择Download可以看到气泡提示效果),然后重新用Rails中的prototype.js来实现。
HTML页面的代码:
CSS的代码(涉及到的相关图片:bubble.rar):
/* Bubble pop-up */
.popup {
position: absolute;
z-index: 50;
border-collapse: collapse;
/* width:500px;
visibility: hidden; */
}
.popup td.corner {height: 15px; width: 19px;}
.popup td#topleft { background-image: url(/images/bubble-1.png); }
.popup td.top { background-image: url(/images/bubble-2.png); }
.popup td#topright { background-image: url(/images/bubble-3.png); }
.popup td.left { background-image: url(/images/bubble-4.png); }
.popup td.right { background-image: url(/images/bubble-5.png); }
.popup td#bottomleft { background-image: url(/images/bubble-6.png); }
.popup td.bottom { background-image: url(/images/bubble-7.png); text-align: center;}
.popup td.bottom img { display: block; margin: 0 auto; }
.popup td#bottomright { background-image: url(/images/bubble-8.png); }
.popup table.popup-contents {
font-size: 12px;
line-height: 1.2em;
background-color: #fff;
color: #666;
font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", sans-serif;
}
table.popup-contents th {
text-align: right;
text-transform: lowercase;
}
table.popup-contents td {
text-align: left;
}
然后给需要气泡提示的加上鼠标事件:
')" onmouseout="Element.hide('content_<%=o.id%>')"><%=article_link_to(o.title,o.id)%>
二、继续改进
气泡提示的外围HTML表格代码可以改由javascript来动态生成,这样可以缩小一些页面的总HTML大小。
HTML页面代码改为:
" style="display:none"><%=o.content%>其他想法:本来打算把文章内容(气泡显示的内容),直接传入javascript函数showPopup里。但由于其字符串较复杂,需要对一些特殊字符进行转义才可以当成字符串传入,而转义需要通写Rails方法来实现,大量的字符搜索替换恐怕会增加服务器的负担。所以这里还是用一个html元素暂存气泡内容。
然后给需要气泡提示的加上鼠标事件。
',event);" onmouseout="hidePopup()"><%=article_link_to(o.title,o.id)%>
CSS的代码不变。
写两个javascript函数:
function showPopup(element_id,event){
var div = createElement("div");
div.id = "popup";
//div.style.display="none";
var popup = $(element_id);
//取得鼠标的绝对坐标
var evt = event ? event : (window.event ? window.event : null);
var x = Event.pointerX(evt)+5;
var y = Event.pointerY(evt)+5;
div.innerHTML='\
\
';
\
\ \
\
\
\
\ \
\
\ \
\
\ \
' + popup.innerHTML + ' \
\
\
\ \
\
\
\
\
document.body.appendChild(div);
//Element.show("popup");
}
function hidePopup(){
Element.remove("popup");
}
function createElement(element) {
if (typeof document.createElementNS != 'undefined') {
return document.createElementNS('http://www.w3.org/1999/xhtml', element);
}
if (typeof document.createElement != 'undefined') {
return document.createElement(element);
}
return false;
}
在javascript中渐显Effect.Appear有一点问题,所以就没再用。
效果如下图所示:
用AJAX实现气泡提示
用AJAX实现气泡提示
实现AJAX风格的Portal
实现AJAX风格的Portal
AJAX SVG 实现实时监控图表
AJAX SVG 实现实时监控图表
Jquery的get方式实现AJAX
关于C#托盘图标控件NotifyIcon的气泡提示-程序开发-红黑联盟
开发端到端的 Ajax 应用程序,第 2 部分: 实现 Ajax 客户机和服务器层
实现一个无刷新的基于ajax的简易聊天室
一个ajax的例子(连动列表实现)
sajax.php在php中实现ajax技术的类
sajax.php在php中实现ajax技术的
sajax.php在php中实现ajax技术的类
AJAX和SVG结合实现实时监控图表 - SVG中国
用Ajax为SOA增光添彩
用Ajax为SOA增光添彩
利用C#实现标注式消息提示窗口
[分享][原创]实现列表页提示信息已过期
基于AJAX的动态树型结构的设计与实现
基于AJAX的动态树型结构的设计与实现
基于AJAX的动态树型结构的设计与实现
使用Anthem.NET 1.5中的FileUpload控件实现Ajax方式的文件上传 -...
小气泡表情