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 ...
随机推荐
- codeforces——Little Pony and Sort by Shift
/* 题目大意:给你一个序列,不断地将最后边的数值移动到最前边,问最少经过多少次可以变成一个单调递增的序列! 如果不能则输出-1. 如果该序列按照不断从后向前移动排序成功,那么该序列要么只有一个单调递 ...
- Yii2的深入学习--自动加载机制
Yii2 的自动加载分两部分,一部分是 Composer 的自动加载机制,另一部分是 Yii2 框架自身的自动加载机制. Composer自动加载 对于库的自动加载信息,Composer 生成了一个 ...
- layout_weight详解
注:LinearLayout中的TextView按比例显示的时候,layout_width="0dp"或者layout_height="0dp" 在androi ...
- MySQL修改默认字符集
今天朋友在做某个程序项目时,需要修改MySQL修改默认字符集,搞不好找我帮忙.百度了试了好几篇博文中的方法,最后终于成功了.但是感觉那些博文思路有点乱,所以自己总结下,希望可以帮到遇到同样问题的人. ...
- adb shell 查看系统属性(用来判断特殊的操作系统)
一般来讲,在android程序开发中进行需要判断设备类型和系统版本 1.设备类型判断(android.os.Build.MODEL) 比如判断属于Google Nexus 5,Nexus 7,MIUI ...
- 20套高品质的 Mobile & Web 界面 PSD 素材免费下载
在这里,我们向大家呈现20个新鲜出炉的矢量的免费 PSD 素材.这些素材来自著名的设计社区——Dribbble,这个网站的用户不断发布各种精美的用户界面,图标和网站布局,以帮助激励他人.这些免费素材不 ...
- JAVA 设计模式 观察者模式
用途 观察者模式 (Observer) 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象. 这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己. 观 ...
- Elasticsearch增删改查 之 —— Update更新
更新操作,一般用这个的,应该不会很多吧!ES本身还是一个倾向于查询检索的框架,对于这种更新的操作,太过频繁总归是不好的. 不过阅读本篇后,你可以使用Script对所有的文档执行更新操作,也可以使用do ...
- Java Lambda表达式初探
Java Lambda表达式初探 前言 本文受启发于Trisha Gee在JavaOne 2016的主题演讲Refactoring to Java 8. Java 8已经发行两年多,但很多人仍然在使用 ...
- 转自coolshell--vim的基本操作
开始前导语: 在正式转入python开发后,日常的工作中会和大量linux相关命令和工具接触,从另外一个层面,学习的东西相当的多,而VIM在整个的linux体系中所占据的角色就更不用说了,之前在处理g ...