javascript笔记之DHTML基础

1、改变元素的外观 (1)、通过style对象,该对象包含了元素中所有的css属性;通常情况下,某个CSS属性的名称与该属性在CSS文件中的名称是相同的;值得注意

的是:有连接符号“-”的CSS属性需要去掉其“-”符号,并把第二个单词首字母变成大写;style对象只能访问到内联样式属性; (2)、修改className属性 2、动态定位和移动元素 (1)、移动元素 css中有两种定位方式:一种是absolute定位,一种是relative定位,都通过top、left属性来确定坐标; 绝对定位即对象脱离了文档流,可以随意设置坐标,相对定位没有脱离文档流,只是在原来的位置上做偏移,设置坐标确定偏移位置,相对自

身位置偏移;javascript中可以通过设置这些属性的值来动态定位或移动元素;

例:

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head>
<title></title>
<style type="text/css">
body
{
padding
:0px;
margin
:0px;}
div
{
position
:absolute;
background-color
:Gray;
width
:200px;
height
:140px;
padding
:15px;
margin
:0px;}
</style>
<script type="text/javascript">
function move() {
var left = document.getElementById("txt_left");
var top = document.getElementById("txt_top");
var div = document.getElementById("mydiv");
div.style.left
= parseInt(left.value) + "px";
div.style.top
= parseInt(top.value) + "px";
}
</script>
</head>
<body>
<div id="mydiv">
<form id="myfrom" method="get" action="" onsubmit="move();return false">
<p>left:<input type="text" id="txt_left" /></p>
<p>top:<input type="text" id="txt_top" /></p>
<input type="submit" id="btn_submit" value="移动到指定坐标" />
</form>
</div>
</body>
</html>

(2)一个简单的动画效果 动画三要素:
a、起始位置b、向目标位置大的移动;
c、目标位置,停止动画; 元素对象的offsetTop、offsetLeft属性返回相对于父元素的位置的偏移量,返回值为数值类型;
window对象的两个计时器:setTimeout(fun_name,time)是超时,即过多少秒后调用一次函数,之后不再调用,可以放在函数内部实现循环调用
效果;setInterval(fun_name,time)是间隔,即每隔多少秒就调用一次函数,反复执行,循环调用;
例: 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head>     
<title></title>     
<style type="text/css">
body
{
padding
: 0px;
margin
: 0px;
}
div
{
position
: absolute;
background-color
: Gray;
width
: 200px;
height
: 140px;
padding
: 15px;
margin
: 0px;
}
</style> <script type="text/javascript">
var derection = false; //表示向右走
function move() {            
var currentLeft = document.getElementById("mydiv").offsetLeft;            
var temp;            
if (!derection) {                
temp = currentLeft + 2;                
if (currentLeft >= 600) {                    
derection = true;                
}            
} else {                
temp = currentLeft - 2;                
if (currentLeft <= 0) {                    
derection = false;                
}            
}            
document.getElementById("mydiv").style.left = temp+"px";            
setTimeout(move, 10);         }        
window.onload = move;    
</script>
</head>
<body>
<div id="mydiv">
<form id="myfrom" method="get" action="" onsubmit="move();return false">
<p>left:<input type="text" id="txt_left"
/></p>
<p>top:<input type="text" id="txt_top"
/></p>
<input type="submit" id="btn_submit" value="移动到指定坐标"
/>
</form>
<
/div>
</body>
<
/html>

这样一个简单的左右移动的层就实现了;

 

原文地址:https://www.cnblogs.com/lj9837/p/2913456.html