<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>窗口模拟--Author:Vibo Email:vibo_cn@hotmail.com</title>
<style type="text/css">
<!--
body,td,th {
font-family: Arial, 宋体;
font-size: 12px;
}
.webWinFrame {
position: absolute;
left:15px;
top:15px;
padding: 3px;
background-color: #EEEEEE;
}
.webWin {
width: 300px;
border: 1px solid #80C65A;
background-color: #FFFFFF;
}
.webWin .wTitle{
line-height: 18px;
padding: 2px;
font-weight: bold;
cursor:move;
background-color: #DDF8CC;
/*display:inline-block;*/
white-space: nowrap;
overflow:hidden;
text-overflow:ellipsis
}
.webWin .wContent {
overflow:hidden;
}
.webWin .wResizeBox {
background-color: #80C65A;
height: 5px;
width: 5px;
position: absolute;
right: 5px;
bottom: 5px;
overflow:hidden;
cursor:se-resize;
}
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
-->
</style>
</head>
<body>
<div class="webWinFrame" id="testWinA"><div class="webWin"><div class="wTitle">TitleA-ViboStudio</div><div class="wContent">
<!---->
<div style="width:300px;height:200px;padding:2px;">
此处显示新 Div 标签的内容此处显示新 Div 标签的内容<br>
此处显示新 Div 标签的内容此处显示新 Div 标签的内容<br>
此处显示新 Div 标签的内容<br>
此处显示新 Div 标签的内容此处显示新 Div 标签的内容<br>
此处显示新 Div 标签的内容此处显示新 Div 标签的内容<br>
此处显示新 Div 标签的内容此处显示新 Div 标签的内容<br>
此处显示新 Div 标签的内容此处显示新 Div 标签的内容<br>
</div>
<!---->
</div><div class="wResizeBox"></div></div></div>
<div class="webWinFrame" id="testWinB" style="top:110px;"><div class="webWin"><div class="wTitle">TitleB</div><div class="wContent">
<!---->
此处显示新 Div 标签的内容
此处显示新 Div 标签的内容
此处显示新 Div 标签的内容
<!---->
</div><div class="wResizeBox"></div></div></div>
</body>
</html>
<script>
window.$ = function(obj){return (document.getElementById)?document.getElementById(obj):(document.all)?document.all[obj]:obj}
window.isIE = window.Event?false:true;
window.getMouseCoords=function(e){return {x:isIE?e.clientX+Math.max(document.body.scrollLeft, document.documentElement.scrollLeft):e.pageX,y:isIE?e.clientY+Math.max(document.body.scrollTop, document.documentElement.scrollTop):e.pageY};}
window.vWinZIndex = 1;
function vDrag(o,ho,initArr){
ho=ho||o;
o.style.position="absolute";
if(!isIE){ho.firstChild.onmousedown=function(){return false;}}
ho.onmousedown=function(a){
o.style.zIndex = window.vWinZIndex;
window.vWinZIndex++;
var d=document;if(!a)a=window.event;
var x=a.layerX?a.layerX:a.offsetX,y=a.layerY?a.layerY:a.offsetY;
if(ho.setCapture)
ho.setCapture();
else if(window.captureEvents)
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
d.onmousemove=function(a){
if(!a)a=window.event;
var mus=getMouseCoords(a)
if(!a.pageX)a.pageX=mus.x;
if(!a.pageY)a.pageY=mus.y;
var tx=a.pageX-x,ty=a.pageY-y;
if(initArr){
o.style.left=(tx<initArr[0]?initArr[0]:tx>initArr[2]?initArr[2]:tx)+"px";
o.style.top=(ty<initArr[1]?initArr[1]:ty>initArr[3]?initArr[3]:ty)+"px";
}else{
o.style.left = tx+"px";
o.style.top = ty+"px";
}
};
d.onmouseup=function(){
if(ho.releaseCapture)
ho.releaseCapture();
else if(window.captureEvents)
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
d.onmousemove=null;
d.onmouseup=null;
};
};
}
function createWebWindow(o,intW,intH){
o.style.zIndex = window.vWinZIndex;
window.vWinZIndex++;
var winSelf = o.childNodes[0];
var winTitle = o.childNodes[0].childNodes[0];
var winContent = o.childNodes[0].childNodes[1];
var winDbox = o.childNodes[0].childNodes[2];
var minW =50,minH = 40;
var _self = this;
var wX = winSelf.offsetWidth-winContent.offsetWidth;
var wH = winSelf.offsetHeight-winContent.offsetHeight;
winDbox.onmousedown = function(e){
o.style.zIndex = window.vWinZIndex;
window.vWinZIndex++;
var d=document;if(!e)e=window.event;
var x=e.layerX?e.layerX:e.offsetX,y=e.layerY?e.layerY:e.offsetY;
var MCD=window.getMouseCoords(e)
winSelf.startX=MCD.x;
winSelf.startY=MCD.y;
winSelf.startW=winSelf.offsetWidth;
winSelf.startH=winSelf.offsetHeight;
if(winDbox.setCapture)
winDbox.setCapture();
else if(window.captureEvents)
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
d.onmousemove =function(e){
if(!e)e=window.event;
var mus=getMouseCoords(e)
var newW = (winSelf.startW +(mus.x-winSelf.startX));
var newH = (winSelf.startH +(mus.y-winSelf.startY))
resizeWin(newW,newH);
}
d.onmouseup=function(){
if(winDbox.releaseCapture)
winDbox.releaseCapture();
else if(window.captureEvents)
window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
d.onmousemove=null;
d.onmouseup=null;
}
}
function resizeWin(newW,newH){
newW = newW < minW?minW:newW;
newH = newH < minH?minH:newH;
winSelf.style.width = newW+"px";
winSelf.style.height = newH+"px";
winTitle.style.width = isIE?newW+"px":(newW-4)+"px";
winContent.style.width = (newW-wX)+"px";
winContent.style.height = (newH-wH)+"px";
}
{
resizeWin(intW,intH);
vDrag(o,winTitle);
}
}
createWebWindow($("testWinA"),300,75);
createWebWindow($("testWinB"),300,100);
</script>
分享到:
相关推荐
标题"javascript日期控件兼容FireFox修改版(二)"指出,这是一个关于解决JavaScript日期控件在Firefox浏览器中兼容性问题的解决方案。 描述中提到的"修改后版本存在BUG",暗示了原始的日期控件代码在Firefox上可能...
标题提及的“二种JavaScript日期控件(兼容FireFox修改版)”很可能是指两种不同的实现方式,旨在解决原生JavaScript日期控件在Firefox浏览器中的兼容性问题。由于原始版本存在bug,开发者已经提供了修正方案,链接...
由于各个浏览器对JavaScript的支持程度和实现方式有所差异,所以需要采取特定的策略来处理这些差异,以确保代码在Internet Explorer(IE)和Mozilla Firefox(FF)等浏览器上都能正常运行。以下是针对IE和FF兼容性...
实现JavaScript瀑布流兼容IE、Firefox和Chrome的方法包括: 1. 使用条件注释或者现代izr库来检测浏览器版本和特性。 2. 对于不支持CSS3 Flexbox或Grid的浏览器,可以使用JavaScript来计算和设置元素的样式,如宽度...
标题中的“兼容FF的可在网页内任意拖动的JS代码”指的是一个JavaScript代码实现,它允许用户在网页中任意拖动元素,同时该功能在Firefox(火狐浏览器)上也得到了良好的支持。在Web开发中,这样的功能通常涉及到事件...
【标签】"谷歌浏览器"(chrome)、"火狐浏览器"(firefox)和"Weboffice"进一步强调了这个话题的重点是关于这两个浏览器与Weboffice的兼容性。Weboffice作为一款Web应用,其跨浏览器兼容性对于扩大用户群体至关重要...
在本案例中,"绝佳的JS焦点图(兼容FF)"是一个专为Firefox浏览器优化的JavaScript实现,确保在火狐浏览器上运行流畅。 1. **焦点图的基本原理**: - 焦点图的核心思想是通过JavaScript控制图片的显示和隐藏,模拟...
标题“JS获取鼠标位置(兼容FF)”指的是用JavaScript实现一个能在不同浏览器,特别是Internet Explorer 6.0和Firefox 3.0.1上运行的鼠标位置获取方法。Firefox的兼容性处理是关键,因为不同的浏览器有时会有不同的...
标题中的“css样式表兼容总结,兼容火狐,ie6,ie7,FF”指的是在网页设计中,CSS样式表需要处理不同浏览器之间的兼容性问题,特别是老版本的Internet Explorer(IE6和IE7)以及Firefox。描述中的“css样式表火狐,ie6,ie...
以下列举了一些IE(Internet Explorer)与Firefox(火狐浏览器)之间的常见CSS兼容性差异及其解决方案。 1. **DOCTYPE的影响** DOCTYPE的选择对浏览器渲染模式有直接影响,这会影响到CSS的解析方式。标准模式和...
jsencrypt 兼容IE8,Chrome,FF,包括exports.default,Object.defineProperty不兼容问题处理等。
本教程将详细介绍如何创建一个无缝兼容Firefox(火狐浏览器)和Internet Explorer(IE浏览器)的js跑马灯效果。 1. **JavaScript基础知识**: 在开始之前,我们需要对JavaScript的基础知识有一定了解。JavaScript...
"Googlemonkey FF Firefox 系列 优化 Google 查询视图"是一个关于提高Firefox浏览器中Google搜索体验的专题。这个专题主要关注的是如何通过特定的脚本和技术来调整和增强Google搜索的结果展示,从而提升用户在使用...
Firefox火狐浏览器优化方法和常用扩展(插件) Firefox浏览器作为一款流行的Web浏览器,具有丰富的功能和插件体系。为了提高Firefox浏览器的性能和体验,我们可以通过各种优化方法和插件来实现。这篇文章将介绍Fire...
标题中的"FF"通常代表Firefox,而"IE"则指Internet Explorer,这两个浏览器在历史上拥有不同的JavaScript引擎,对标准的实现也不尽相同。Firefox使用Gecko内核,而IE则有自家的Trident内核(在较新版本的IE中改为...
在处理XML(可扩展标记语言)文件时,JavaScript提供了多种方法来读取、解析和修改XML数据,尽管不同浏览器(如Firefox和Internet Explorer)的实现可能存在差异。本文将详细探讨如何在JavaScript中操作XML文件,并...
标题中的"google鼠标经过JS特效,IE/FF兼容"指的是一个JavaScript实现的特效,它在鼠标悬停(mouseover)某个元素时,会触发一个特定的动画效果,即上部的图片从小到大闪动出现。这个特效适用于谷歌浏览器(Google ...
JS遮罩层,可拖动(兼容IE、FF与谷歌)
很简洁,很实用的js拖动层,兼容IE,FF,
“js”表明它是基于JavaScript语言构建的,“日历”明确了它的功能定位,“ff”则强调了它对Firefox浏览器的兼容性支持。结合标题中的“ie”,可以推断出这是一个跨浏览器的日历解决方案,旨在为用户提供一致的用户...