30分求一弹窗功能

j_hunter 2009-08-05 11:31:23
想实现一个功能,大体和csdn上鼠标移到人头像上显示他的所有信息一样 只不过我只显示一个图片(原本显示的图片是一个小图,现在要实现把鼠标移动到小图上面后显示相对应的大图,大小图都是读取的)就可以了, 原来是用荧光做的,考虑到装机量的问题 现在就想用js来做,但昨天弄了下没弄的来,主要就是不知道把从数据库读到的图片地址传给js里面去加载大图, 有做过这个功能的说下是怎么做的,或者给个链接也行。 先谢过了!
...全文
129 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
j_hunter 2009-08-05
  • 打赏
  • 举报
回复
是的 我要的就是这样的效果 你给的示例我运行看了下 基本功能就应该像你做的那样。这种实现起来是没问题的, 现在是数据绑定的问题,因为大小图片都是读取的 我不知道该如果动态绑定? 能否再具体点呢?
guohouchang 2009-08-05
  • 打赏
  • 举报
回复
CSDN不是弹窗。是显示一个DIV。这个DIV事先就放在页面里。当用户鼠标放上去的时候就显示出来。移开的话就隐藏。 上面代码直接运行即实现
guohouchang 2009-08-05
  • 打赏
  • 举报
回复




<a id="test01x00000000" onmouseover="ImageButton1_Click(event)" onmouseout="Hide();" href="#">
test </a>
<div id="testx01x000" style="position:absolute;display:none; z-index:0; border-color: inherit; font-size:14px;width:400px; float:left">
<img src="http://shhq-mossweb03:2019/loading.gif" alt="数据加载中...请稍后"/>数据加载中...请稍等
</div>


function ImageButton1_Click(ev) {
x = ev.clientX;
y = ev.clientY;
document.getElementById("testx01x000").style.top = y;
document.getElementById("testx01x000").style.left = x+60;
document.getElementById("testx01x000").style.display = "";
}

function Hide()
{
document.getElementById("testx01x000").style.display = "none";
}

j_hunter 2009-08-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zowell 的回复:]
鼠标放上:绘出窗口(层), ajax读取数据,将数据(图片地址)加载到层中的图片上
鼠标移开:删除窗口
[/Quote]

有示例没啊?对js不是太懂
手写 2009-08-05
  • 打赏
  • 举报
回复
鼠标放上:绘出窗口(层), ajax读取数据,将数据(图片地址)加载到层中的图片上
鼠标移开:删除窗口
hugocross 2009-08-05
  • 打赏
  • 举报
回复
来学习。。。
j_hunter 2009-08-05
  • 打赏
  • 举报
回复
这里url是个文件的物理地址啊,而且图片没有id,只能根据图片名去判断。 不知道该怎么弄了,你代码都写到这地步了,应该离完整的代码不远了吧 能否写个出来。 我还是没看的太懂你这个 再看看

guohouchang 2009-08-05
  • 打赏
  • 举报
回复
url换成你要请求的路径
然后在页面上response.write();
就可以了。也可以返回XML
返回XML的话xmlHttpReq.responseText 改成xmlHttpReq.responseXML


var flag = false;

var xmlHttpReq = false;
var x = 0;
var y =0;
function ImageButton1_Click(ev) {
if(flag)
{
x = ev.clientX;
y = ev.clientY;
document.getElementById("testx01x000").style.top = y;
document.getElementById("testx01x000").style.left = x+60;
document.getElementById("testx01x000").style.display = "";
}else
{
x = ev.clientX;
y = ev.clientY;
document.getElementById("testx01x000").style.top = y;
document.getElementById("testx01x000").style.left = x+60;
document.getElementById("testx01x000").style.display = "";
ImageButton2_Click();
}
}

function ImageButton2_Click() {
var id = document.getElementById("test01x00000000").innerHTML;
var url = "url()?id=" + id ;
xmlhttpPost(url);
}


function xmlhttpPost(strURL) {
flag = true;

try{

if (window.ActiveXObject)
{
try
{
xmlHttpReq = new ActiveXObject("Msxml2.XMLHTTP.5.0")
}
catch(e)
{
try
{
xmlHttpReq = new ActiveXObject("Msxml2.XMLHTTP.4.0")
}
catch(e)
{
try
{
xmlHttpReq = new ActiveXObject("Msxml2.XMLHTTP")
}
catch(e)
{
try{
xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP")
}catch(e)
{
alert( "对不起你的浏览器不支持XMLHTTP,原因 "+e.description+ " 请启用ActiveX或升级 ");
}
}
}
}
}

xmlHttpReq.open('POST', strURL,true);
xmlHttpReq.onreadystatechange = result;
xmlHttpReq.send(null);
}
catch(e)
{
alert( "对不起你的浏览器不支持XMLHTTP, "+e.description+ " 请启用ActiveX或升级 ");
flag = false;
}
}

function result() {

if (xmlHttpReq.readyState == 3)
{
document.getElementById("testx01x000").innerHTML = "<div><img src=\"loading.gif\" alt=\"数据加载中...请稍后\"/>数据传送中,请稍候……</div>"
}

if (xmlHttpReq.readyState == 4 &&xmlHttpReq.status==200) {
if (xmlHttpReq.responseText != "") {
var text = xmlHttpReq.responseText;
document.getElementById("testx01x000").innerHTML =text;
}
else {
alert("数据加载失败");
}
}
}


function Hide()
{
//xmlHttpReq.abort();
document.getElementById("testx01x000").style.display = "none";
}



一个通用的Android端弹窗管理框架,内部维护弹窗优先级队列 具备弹窗管理扩展功能 整合Dialog,PoupoWindow,悬浮Widget,透明Webview,Toast,SnackBar,无需再为繁琐的业务弹窗逻辑所困扰如何添加依赖只需要两行代码轻松接入//add this to your repositories  maven { url 'https://www.jitpack.io' } //add this to your dependencies implementation 'com.github.MrCodeSniper:PopLayer:2.0.0'具体如何使用1.根据策略创建对应的弹窗view//Dialog形式 PopLayerView  mLayerView = new PopLayerView(this,R.layout.common_dialog_upgrade_app); //透明Webview形式 PopLayerView mLayerView = new PopLayerView(this,LayerConfig.redPocketScheme);2.开始装配弹窗配置Popi mUpgradePopi1 = new Popi.Builder()                 .setmPopId(4)//弹窗的唯一标识 当id发生改变 视为新的弹窗                 .setmPriority(2)//优先级这里不具体划分对应的范围 值越小优先级越高                 .setmCancelType(TRIGGER_CANCEL)//弹窗消失的类型分为 TRIGGER_CANCEL(触摸消失) COUNTDOWN_CANCEL (延时消失)                 .setMaxShowTimeLength(5)//最长显示时间(S)                 .setMaxShowCount(5)//最大显示次数                 .setmBeginDate(1548858028)//开始时间 2019-01-30 22:20:28                 .setmEndDate(1548944428)//结束时间 2019-01-31 22:20:28                 .setLayerView(mLayerView)//弹窗View                 .build();3.纳入弹窗管理//纳入弹窗管理 PopManager.getInstance().pushToQueue(mUpgradePopi); //开始显示弹窗 PopManager.getInstance().showNextPopi();效果预览未来的计划逐步统一 其他类型的弹窗 希望能提供给大家一个较为全面的应对业务需求的弹窗管理框架版本记录V1方案版本号LOG进度更新V1.0.0项目开源,完成弹窗管理与Dialog形式扩展Dialog策略扩展完成V1.0.1修复Dialog策略无法获取dialog实体bugDialog策略优化V1.0.2修复activity摧毁造成的弹窗异常 bugDialog策略优化V1.0.3优化了弹窗的使用更加方便快捷框架使用优化V2方案版本号LOG进度更新V2.0.0正式加入透明Webview弹窗策略扩展透明Webview策略扩展完成作者介绍Hello 我叫lalala,如果您喜欢这个项目 请给个star 能follow我那真是太好了!!

52,785

社区成员

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

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