最近做了一个项目,本来用css3动画做的,不兼容ie,用js做了个,分享给大家。

代码修改了下,上下左右四个模块,顺时针转动。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>float left and top</title>
<style type="text/css">
*{margin:0;padding:0;}
.demo{position:relative;width:500px;margin:0 auto;height:500px;margin-top:10px;border:1px solid #333;}
.positionpub{position:absolute;width:100px;height:100px;}
.positionpub p{width:100px;height:100px;background:#333;color:#fff;line-height:100px;text-align:center;position:absolute;}
.float-left-t{top:0;left:0;}
.float-right-t{top:0;right:0;}
.float-bottom-l{bottom:0;left:0;}
.float-bottom-r{bottom:0;right:0;}
</style>
</head>
<body>
<div class="demo">
<div class="float-left-t positionpub">
<p id="left_top">lefttop</p>
</div>
<div class="float-right-t positionpub">
<p id="right_top">righttop</p>
</div>
<div class="float-bottom-l positionpub">
<p id="left_bottom">leftbottom</p>
</div>
<div class="float-bottom-r positionpub">
<p id="right_bottom">rightbottom</p>
</div>
</div> <script type="text/javascript">
var x = 0, y = 0 , x1 = 0 , y1 = 0;
var xin = true, yin = true;
var step = 1,step2 = 2;
var delay = 100;
var obj = document.getElementById("left_top");
var obj1 = document.getElementById("right_top");
var obj2 = document.getElementById("left_bottom");
var obj3 = document.getElementById("right_bottom"); function left_top() {
var L = 0;
var R = 100;
obj.style.left = x + document.documentElement.scrollLeft + "px";
x = x + step * (xin ? 1 : -1);
//xin是一个变量, (xin?1:-1) 的意思就是 当 xin 为 true 或者 非0, 括号里的表达式值为 1, xin为 false,表达式的值为 -1.
if (x < L) {
xin = true;
x = L;
}
if (x > R) {
xin = false;
x = R;
}
}; function right_top() {
var T = 0;
var B = 100;
obj1.style.top = y + document.documentElement.scrollTop + "px";
y = y + step * (yin ? 1 : -1);
if (y < T) {
yin = true;
y = T;
}
if (y > B) {
yin = false;
y = B;
}
}; function left_bottom() {
var B = 0;
var T = 100;
obj2.style.bottom = y1 + document.documentElement.scrollTop + "px";
y1 = y1 + step * (yin ? 1 : -1);
if (y1 < B) {
yin = true;
y1 = B;
}
if (y1 > T) {
yin = false;
y1 = T;
}
}; function right_bottom() {
var L = 0;
var R = 100;
obj3.style.right = x1 + document.documentElement.scrollLeft + "px";
x1 = x1 + step * (xin ? 1 : -1);
if (x1 < L) {
xin = true;
x1 = L;
}
if (x1 > R) {
xin = false;
x1 = R;
}
}; var itl = setInterval("left_top()", delay);
var itl1 = setInterval("right_top()", delay);
var itl2 = setInterval("left_bottom()", delay);
var itl3 = setInterval("right_bottom()", delay);
</script>
</body>
</html>

JavaScript 左右上下自动晃动,自动移动。的更多相关文章

  1. JavaScript的类型自动转换高级玩法JSFuck

    0 前言 最开始是不小心在微信公众号(程序员大咖)看到一篇JS的高逼格代码,然后通过里面的链接跳转到了JSFuck的wiki,就像顺着迷宫找宝藏的感觉,感叹JS的自动类型转换的牛逼. 1 样例 (!( ...

  2. JavaScript的类型自动转换样例集合处

    1.前言 如果Javascript期望使用一个字符串,它会把给定的值转换成字符串:如果Javascript期望使用一个数字,它会把给定的值转化成数字. 2.样例 2.1.字符串拼接时有数字 windo ...

  3. ASP.NET中使用JavaScript实现图片自动水平滚动效果

    参照网上的资料,在ASP.NET中使用JavaScript实现图片自动水平滚动效果. 1.页面前台代码: <%@ Page Language="C#" AutoEventWi ...

  4. javascript 文字大小自动适应文本框 (文字大小自动调整)

    javascript 文字大小自动适应文本框 (文字大小自动调整) TOC 思考 思考一:面积法 思考二:微调法 代码 在进行类似微博墙之类的展示页面中,经常会遇到这样的需求:在固定大小的区域放入字数 ...

  5. 反人类的MyEclipse之-Javascript双引号自动补全

    MyEclipse由于在JavaScript中按下一个双引号后会自动把后面的双引号补全.本人习惯两个双引号一起按下,那么这个时候在编辑器里就会出现三个",这样导致代码错误. 今天就因为MyE ...

  6. html+css+jQuery+JavaScript实现tab自动切换功能

    tab1.html内容 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...

  7. [模仿微软Live.cn]JavaScript输入邮箱自动提示

    原理是:在一个输入框 中,当我输入任何字的时候 自动下拉相应的邮箱提示,在输入框输入123的时候 下拉框有所有123的邮箱 输入其他的时候 有其他文案对应的邮箱. 同理 此插件不需要任何html标签, ...

  8. javaScript和jQuery自动加载方法

    一.JavaScript自动加载 ①在文本中用onload: 当页面中所有内容(包括图片)加载完后再执行onload,如下: <body onload="alert(1)"& ...

  9. JavaScript——问卷星自动填写

    一.前言: 我们学校要刷学术章,有些学术章又是指定在某个时间点填写问卷星的问卷报名的.但是由于我手速慢,导致总会有些时候报不上名,于是想着搞个代码实现自动填写问卷星的报名表.一顿操作后,在github ...

随机推荐

  1. 清空文件下的SVN控制文件

    代码如下,复制代码为txt文件,更改后缀为“.bat”,把文件放到,需要删除的文件的顶端文件夹内,点击执行. @echo on color 2f mode con: cols= lines= @REM ...

  2. Prim算法(二)之 C++详解

    本章是普里姆算法的C++实现. 目录 1. 普里姆算法介绍 2. 普里姆算法图解 3. 普里姆算法的代码说明 4. 普里姆算法的源码 转载请注明出处:http://www.cnblogs.com/sk ...

  3. [转载]AxureRP常用快捷键

    习惯用Axure快捷键会让你做原型的时候更得心应手.Axure中文网总结了常用的一些快捷键分享给大家 . Axure RP Pro 6.5快捷键大全,如有疏漏,欢迎补充.   基本快捷键:   打开: ...

  4. Android之自定义ListView(一)

    PS:自定义View是Android中高手进阶的路线.因此我也打算一步一步的学习.看了鸿洋和郭霖这两位大牛的博客,决定一步一步的学习,循序渐进. 学习内容: 1.自定义View实现ListView的I ...

  5. Swift泛型协议的N种用法

    They said "you should learn a new language every year," so I  learned Swift. Now  I  learn ...

  6. 怎么让composer加速

    composer install 为什么这么慢? 下面是一个composer install(在没有composer cache的情况下)做的所有事情: [vagrant@localhost comp ...

  7. 在使用vs2012中的MVC4出的错误!类型“System.Data.Entity.DbContext”在未被引用的程序集中定义

    理解决方案的nuget程序包2.选中已安装的包,找到EntityFramework,点击管理 由于我是在Taobao_DAL中用到了EF的“数据上下文对象”,他报错了.所以我们要选中它,将EF5.0安 ...

  8. C#/.NET 基础学习

    初识C# C#是微软公司发布的面向对象的.运行于.NET Framework之上的高级程序设计语言.与Java有着明显不同,借鉴Delphi的特点,与COM(组件对象模型)直接集成,是微软公司 .NE ...

  9. 背水一战 Windows 10 (1) - C# 6.0 新特性

    [源码下载] 背水一战 Windows 10 (1) - C# 6.0 新特性 作者:webabcd 介绍背水一战 Windows 10 之 C# 6.0 新特性 介绍 C# 6.0 的新特性 示例1 ...

  10. MySQL知识总结

    一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...