JavaScript 左右上下自动晃动,自动移动。
最近做了一个项目,本来用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 左右上下自动晃动,自动移动。的更多相关文章
- JavaScript的类型自动转换高级玩法JSFuck
0 前言 最开始是不小心在微信公众号(程序员大咖)看到一篇JS的高逼格代码,然后通过里面的链接跳转到了JSFuck的wiki,就像顺着迷宫找宝藏的感觉,感叹JS的自动类型转换的牛逼. 1 样例 (!( ...
- JavaScript的类型自动转换样例集合处
1.前言 如果Javascript期望使用一个字符串,它会把给定的值转换成字符串:如果Javascript期望使用一个数字,它会把给定的值转化成数字. 2.样例 2.1.字符串拼接时有数字 windo ...
- ASP.NET中使用JavaScript实现图片自动水平滚动效果
参照网上的资料,在ASP.NET中使用JavaScript实现图片自动水平滚动效果. 1.页面前台代码: <%@ Page Language="C#" AutoEventWi ...
- javascript 文字大小自动适应文本框 (文字大小自动调整)
javascript 文字大小自动适应文本框 (文字大小自动调整) TOC 思考 思考一:面积法 思考二:微调法 代码 在进行类似微博墙之类的展示页面中,经常会遇到这样的需求:在固定大小的区域放入字数 ...
- 反人类的MyEclipse之-Javascript双引号自动补全
MyEclipse由于在JavaScript中按下一个双引号后会自动把后面的双引号补全.本人习惯两个双引号一起按下,那么这个时候在编辑器里就会出现三个",这样导致代码错误. 今天就因为MyE ...
- html+css+jQuery+JavaScript实现tab自动切换功能
tab1.html内容 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...
- [模仿微软Live.cn]JavaScript输入邮箱自动提示
原理是:在一个输入框 中,当我输入任何字的时候 自动下拉相应的邮箱提示,在输入框输入123的时候 下拉框有所有123的邮箱 输入其他的时候 有其他文案对应的邮箱. 同理 此插件不需要任何html标签, ...
- javaScript和jQuery自动加载方法
一.JavaScript自动加载 ①在文本中用onload: 当页面中所有内容(包括图片)加载完后再执行onload,如下: <body onload="alert(1)"& ...
- JavaScript——问卷星自动填写
一.前言: 我们学校要刷学术章,有些学术章又是指定在某个时间点填写问卷星的问卷报名的.但是由于我手速慢,导致总会有些时候报不上名,于是想着搞个代码实现自动填写问卷星的报名表.一顿操作后,在github ...
随机推荐
- Microsoft Naive Bayes 算法——三国人物身份划分
Microsoft朴素贝叶斯是SSAS中最简单的算法,通常用作理解数据基本分组的起点.这类处理的一般特征就是分类.这个算法之所以称为“朴素”,是因为所有属性的重要性是一样的,没有谁比谁更高.贝叶斯之名 ...
- Windows Azure Virtual Machine (31) 迁移Azure虚拟机
<Windows Azure Platform 系列文章目录> 为什么要写这篇Blog? 之前遇到过很多客户提问: (1)我之前创建的虚拟机,没有加入虚拟网络.现在需要重新加入虚拟机网络, ...
- JS&CSS文件请求合并及压缩处理研究(五)
接上篇.在我们最终调用 @Html.RenderResFile(ResourceType.Script) 或者 @Html.RenderResFile(ResourceType.StyleSheet) ...
- 20款精致的长阴影 LOGO 设计【附免费生成工具】
长阴影(Long Shadow)概念来自于最新非常流行的扁平化设计(Flat Design).扁平化设计趋势影响最大的是用户界面元素和图标,但它也开始蔓延到其他网页设计的其他部分. 长阴影其实就是扩展 ...
- VS2012连接到OSC@Git
osc终于全面开放git库了,这是我一直期待的事,也是促使我从CSDN转回OSC社区的重要原因之一.而这次我来教大家如何用osc@git来进行简单的版本控制.对于git,我自身也是近几周才开始学习,有 ...
- 实现jquery.ajax及原生的XMLHttpRequest调用WCF服务的方法
废话不多说,直接讲解实现步骤 一.首先我们需定义支持WEB HTTP方法调用的WCF服务契约及实现服务契约类(重点关注各attribute),代码如下: //IAddService.cs namesp ...
- RegularHelper
private const string m_NumberPattm = @"^[-+]?(0{1}|(([1-9]){1}[0-9]{0,6}))?$"; private con ...
- Windows下ELK环境搭建(单机多节点集群部署)
1.背景 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时 ...
- 实现iOS图片等资源文件的热更新化(五): 一个简单完整的资源热更新页面
简介 一个简单的关于页面,有一个图片,版本号,App名称等,着重演示各个系列的文章完整集成示例. 动机与意义 这是系列文章的最后一篇.今天抽空写下,收下尾.文章本身会在第四篇的基础上,简单扩充下代码, ...
- SQL Server时间粒度系列----第3节旬、月时间粒度详解
本文目录列表: 1.SQL Server旬时间粒度2.SQL Server月有关时间粒度 3.SQL Server函数重构 4.总结语 5.参考清单列表 SQL Server旬时间粒度 ...