我的页面上有2个iFrame。两者都可以使用jQuery UI进行拖动。如果两个iFrame都拖动到相同的空间,即加载第二个的iFrame总是占主导地位的,即。它涵盖了第一个iFrame。有没有办法将iFrame设置为主要的iFrame,这样如果我移动第一个iFrame并将其放在第二个iFrame上,它将覆盖第二帧,反之亦然?
HTML:
<a class = 'expandorcollapse3' href = '#'>Web Page 1</a>
<br>
<a class = 'expandorcollapse4' href = '#'>Web Page 2</a>
<div id = 'iframetest1' style = 'display: none'>
<iframe id = 'iframe1' src = 'http://www.wsj.com'></iframe></a></div>
<div id = 'iframetest2' style = 'display: none'>
<iframe id = 'iframe1' src = 'http://www.wsj.com'></iframe></a></div>
CSS:
#iframe1 {width: 600px; height: 500px; border; 1px solid black; zoom: 1.00; -moz-transform: scale(0.65); -moz-transform-orgin: 0 0;
-o-transform: scale(0.65); -o-transform-origin: 0 0; -webkit-transform: scale(0.65); -webkit-transform-origin: 0 0;}
#iframetest1 {width: 390px; height: 325px; margin: 10px; border-style: solid; border-width: 10px;}
#iframetest2 {width: 390px; height: 325px; margin: 10 px; border-style: solid; border-width: 10px;}
使用Javascript:
$(document).ready(function(){
$(".expandorcollapse3").click(function(){
if($("#iframetest1").is(":hidden")){
$("#iframetest1").show("slow");
}
else{
$("#iframetest1").hide("slow");
}
});
});
$(document).ready(function(){
$(".expandorcollapse4").click(function(){
if($("#iframetest2").is(":hidden")){
$("#iframetest2").show("slow");
}
else{
$("#iframetest2").hide("slow");
}
});
});
$("#iframetest1").draggable({containment: "document"});
$("#iframetest2").draggable({containment: "document"});
答案 0 :(得分:1)
您可以在draggable中指定stack选项,以便当前拖动的元素显示在前面
$("#iframetest1,#iframetest2").draggable({
containment: "document",
stack: 'div'
});
您还可以使用切换功能缩短代码,而不是使用if / else语句
$(document).ready(function() {
$(".expandorcollapse3").click(function() {
$("#iframetest1").toggle('slow');
});
$(".expandorcollapse4").click(function() {
$("#iframetest2").toggle('slow');
});
});