比较难的一个需求,求助高手 要是跨域单靠js无法完成。需要目标网站的后台配合。关键是你的嵌入一张网页是否是获取目标网站的所有html然后嵌入,还是只是一个链接的形式。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 html代码我可以拿到,也可以控制,这个你不需要管现在就是想用js去实现我的需求 添加一个半透明的层,遮盖住所有元素(用div实现的模式对话框,代码遍地都是)提升目标div的 css.z-index 。是指处于遮罩的前面 没啥难度。关键看目标的css中position怎么设置的<html><head><script src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js"></script> <script> var oldPosition; var oldPosition; $(function(){ $('#trigger').bind('click',function(){ $mask=$('#mask-layout'); if($mask.length){ //想显示现实哪个填哪个id $target=$("#mid"); $target.css("position",oldPosition) $target.css("z-index",oldPosition) $mask.remove() }else{ //想显示现实哪个填哪个id $target=$("#mid"); oldPosition= $target.css("position") oldZindex=$target.css("z-index") $target.css("position","relative") $target.css("z-index",10000) $("body").prepend('<div id="mask-layout" style="background-color:#000000;height:'+$(document).height()+'px;width:'+$(document).width()+'px;left:0;right:0;position:absolute;z-index:1000"></div>') $('#mask-layout').css("opacity",0.5); } }) $('#mask-all').bind('click',function(){ $mask=$('#mask-all-layout'); if($mask.length){ $mask.remove() }else{ $("body").prepend('<div id="mask-all-layout" style="background-color:#000000;height:'+$(document).height()+'px;width:'+$(document).width()+'px;left:0;right:0;position:absolute;z-index:8000"></div>') $('#mask-all-layout').css("opacity",0.5); } }) }) </script> <style> .float{float:left;height: 200px;} #left{background-color: red;width: 200px } #mid{background-color: yellow;width: 250px} #right{background-color: blue;width: 300px;} #trigger{position:relative;z-index: 10000} #mask-all{position:relative;z-index: 10000} </style></head><body><div > <div id="left" class="float">左侧</div> <div id="mid" class="float">中</div> <div id="right" class="float">右</div> <div style="clear: both"></div> <button id="trigger">狠戳这里显示一个</button><button id="mask-all">猛击全遮罩</button> <br>(点击显示或取消遮罩)</div></body> </html> 第二行var oldPosition;写重复了,改成 var oldZindex 能不能不用jquery的,用基础的js可以吗 怎样读取Cookie? 一個簡單的頁面問題 JSP做的flash中,怎样找到flash用的原图片。 关于clientID的问题 关于prototype 事件 注册问题 javascript如何延迟执行一个函数 图片显示效果 这个可以传参数么?怎么获取参数? 关于iframe自动调整高度的问题 怎样让层在加载时就是隐藏的?(53分) 怎么拼接地址 jq 如何关闭一个页面
html代码我可以拿到,也可以控制,这个你不需要管
现在就是想用js去实现我的需求
提升目标div的 css.z-index 。是指处于遮罩的前面
<head>
<script src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js"></script> <script>
var oldPosition;
var oldPosition;
$(function(){
$('#trigger').bind('click',function(){
$mask=$('#mask-layout');
if($mask.length){
//想显示现实哪个填哪个id
$target=$("#mid");
$target.css("position",oldPosition)
$target.css("z-index",oldPosition)
$mask.remove()
}else{
//想显示现实哪个填哪个id
$target=$("#mid");
oldPosition= $target.css("position")
oldZindex=$target.css("z-index")
$target.css("position","relative")
$target.css("z-index",10000)
$("body").prepend('<div id="mask-layout" style="background-color:#000000;height:'+$(document).height()+'px;width:'+$(document).width()+'px;left:0;right:0;position:absolute;z-index:1000"></div>')
$('#mask-layout').css("opacity",0.5);
}
})
$('#mask-all').bind('click',function(){
$mask=$('#mask-all-layout');
if($mask.length){
$mask.remove()
}else{
$("body").prepend('<div id="mask-all-layout" style="background-color:#000000;height:'+$(document).height()+'px;width:'+$(document).width()+'px;left:0;right:0;position:absolute;z-index:8000"></div>')
$('#mask-all-layout').css("opacity",0.5);
}
})
})
</script>
<style>
.float{float:left;height: 200px;}
#left{background-color: red;width: 200px }
#mid{background-color: yellow;width: 250px}
#right{background-color: blue;width: 300px;}
#trigger{position:relative;z-index: 10000}
#mask-all{position:relative;z-index: 10000}
</style>
</head>
<body>
<div >
<div id="left" class="float">左侧</div>
<div id="mid" class="float">中</div>
<div id="right" class="float">右</div>
<div style="clear: both"></div> <button id="trigger">狠戳这里显示一个</button><button id="mask-all">猛击全遮罩</button>
<br>(点击显示或取消遮罩)
</div>
</body>
</html>
var oldPosition;
写重复了,改成 var oldZindex
能不能不用jquery的,用基础的js可以吗