当前位置: 首页 > 编程日记 > 正文

用javascript实现仿163的js广告向下挤压页面的效果

本次实现一个js小小特效,效果就是广告从页面的上方出来将基本页面挤压下去。

实现的思路是将两个div(广告div1和div2)。将div1的高度不断增加,增加的同时div2的y轴坐标变大,div1的高度增加多少相对应的y轴坐标加大多少。

当加大到一定程度的时候,将速度值变为自身负数,并且改变函数下一次的执行间隔,这样就会向上走,当高度为0是将计时器清掉ok。

呵呵,下边看我的源代码吧:



<!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>无标题文档</title>

//将div的属性改为position:absolute;否则div2.style.top=divheight+"px";没作用

<style>
div{
    position:absolute;

    }

</style>

</head>

<body>
<!--定义两个div,div1为广告div,div2为基本页面div -->
<div id="div1" style="width:1000px; height:0px; background-color:#FF3; border:double; border-color:red"></div>
<div id="div2" style="width:1000px; height:600px; background-color:#00F; border:double; border-color:red"></div>
<script language="javascript" type="text/javascript">

var div1=document.getElementById("div1");
var div2=document.getElementById("div2");

//定义div1的高度和div2的起始纵坐标大小
var divheight=0;
//定义div1的高度和div2的起始纵坐标大小增减的速度
var div1Speed=1;

function floatimg(){
    //求出div1增长后的高度
    //div1的高度提高多少,相应的div2的起始点的纵坐标就是多少
    divheight+=div1Speed;
    //如果div1的高度divheight未达到80的时候div1的高度和div2的起始纵坐标都是增加1的,而且按照间隔100的速率循环执行函数floatimg()
    if(divheight!=80){
    
    div1.style.height=divheight+"px";
    div2.style.top=divheight+"px";

    t=setTimeout("floatimg()",20);
    
    }else{
        
    //当div1的高度达到80的时候,div1的高度和div2的起始纵坐标都是减少1的,如何减少呢?很简单,就将增长速度div1Speed变为自身的负数,这样每次加的是-1
    //还需要改的地方就是setTimeout执行floatimg()函数的间隔,改为3000,让div1的高度达到80的时候有停顿效果。
        div1Speed=-div1Speed;
        div1.style.height=divheight+"px";
        div2.style.top=divheight+"px";
        
        t=setTimeout("floatimg()",3000);
        }
        //当divheight再次为0的时候清掉计时器
        if(divheight==0){
            clearTimeout(t);
            }
        
    }

floatimg();
</script>

</body>
</html>






转载于:https://www.cnblogs.com/javaexam2/archive/2012/02/22/2632610.html

相关文章:

【eclipse】快速调整eclipse背景和格式的方法

第一步 第二步 第三步 &#xff1a;选择相应的格式 效果如图

对做C#自定义控件的一点心得

近期在做DSOFramer这个控件&#xff0c;打算自己弄一个自定义控件来封装这个COM组件&#xff0c;中间遇到很多曲折&#xff0c;研究了一个星期&#xff0c;终于完成了 下面总结一下我做DSOFramer这个自定义控件的注意地方&#xff1a; 1、在创建一个Windows窗体控件库的时候&am…

numpy知识点

1、nonzero 对于一维数据来说&#xff0c;将返回符合条件的 下标 >>> b1 np.array([True, False, True, False]) >>> np.nonzero(b1)(array([0, 2]),)对于二维数据来说&#xff0c;将返回两维 元组&#xff0c; 第一维是符合条件的 x的索引&#xff0c;第二…

Excel导入异常Cannot get a text value from a numeric cell解决

POI操作Excel时偶尔会出现Cannot get a text value from a numeric cell的异常错误。 异常原因&#xff1a;Excel数据Cell有不同的类型&#xff0c;当我们试图从一个数字类型的Cell读取出一个字符串并写入数据库时&#xff0c;就会出现Cannot get a text value from a numeric …

【蓝桥java】递归基础之反向输出字符串

题目&#xff1a;输入一个字符串&#xff0c;要求将该字符串反向输出 代码实现&#xff1a; package xn.zzunit.recurrence;/*** 递归方法反向输出字符串* author tyrantForever**/ public class Project1 {public static void main(String[] args) {String testString "…

SQL Server中灾难时备份结尾日志(Tail of log)的两种方法

简介 在数据库数据文件因各种原因发生损坏时&#xff0c;如果日志文件没有损坏。可以通过备份结尾日志&#xff08;Tail of log)使得数据库可以恢复到灾难发生时的状态。 例如: 上图中。在DB_1中做了完整备份&#xff0c;在Log_1,Log_2处做了日志备份。在Log_2备份之后不久&…

C examples

最近在看David R. Hanson 的《C Interfaces and Implementations》&#xff0c;文中第一章提到了Literate Programming 作者举了一个例子&#xff1a; 功能&#xff1a;用于检测输入中相邻且相同的单词 #include<stdio.h> #include<math.h> #include<errno.h&g…

特征工程:特征生成,特征选择(三)

转自&#xff1a;https://blog.csdn.net/cymy001/article/details/79169862 特征生成 特征工程中引入的新特征&#xff0c;需要验证它确实能提高预测得准确度&#xff0c;而不是加入一个无用的特征增加算法运算的复杂度。 1. 时间戳处理 时间戳属性通常需要分离成多个维度比如年…

JAVA设计模式之不变模式

在阎宏博士的《JAVA与模式》一书中开头是这样描述不变&#xff08;Immutable&#xff09;模式的&#xff1a; 一个对象的状态在对象被创建之后就不再变化&#xff0c;这就是所谓的不变模式。 不变模式的结构 不变模式可增强对象的强壮型(robustness)。不变模式允许多个对象共享…

【蓝桥java】递归基础之智力训练

题目&#xff1a; 匪警请拨110,即使手机欠费也可拨通&#xff01; 为了保障社会秩序&#xff0c;保护人民群众生命财产安全&#xff0c;警察叔叔需要与罪犯斗智斗勇&#xff0c;因而需要经常性地进行体力训练和智力训练&#xff01; 某批警察叔叔正在进行智力训练&#xff1a; …

EF-Entity Framework 相关技术点收集贴

不定期、偶尔、添加更新 在网络上看到或者自己开发过程中碰到的EF&#xff0d;Entity Framework相关技术点 本文地址:http://www.cnblogs.com/vnii/archive/2012/02/28/2371736.html 1.数据表字段有默认值&#xff0c;比如DateTime类型的字段CreateTime默认值为数据新增的时间g…

[翻译]LightRacer游戏架构

1.0版本的Light Racer架构可说的不多。仅有一个单一的Activity&#xff0c;进行按钮的处理&#xff0c;显示游戏相关数据和显示GameView。我将在另一篇文章中说明游戏的画面是如何工作的&#xff0c;但是现在我先声明一下的就是&#xff1a;在Android中&#xff0c;单个Activit…

case when里的like功能 ////// 截取(substr)

case when里的like功能 假如要用到case when又要用到like这样的功能&#xff0c;即如果字符串包含‘语文’就怎么怎么样&#xff0c;包含‘数学’就怎么怎么样&#xff0c;包含‘英语’就怎么怎么样&#xff0c;like是用于where中的&#xff0c;放在case when里面是无效的&…

在Asp.Net MVC中设定site路径所对应的默认action

设置路由的default的Controller和Action可以达到我们预期的效果&#xff0c;代码如下所示&#xff1a; public class RouteConfig {public static void RegisterRoutes(RouteCollection routes){routes.IgnoreRoute("{resource}.axd/{*pathInfo}");routes.MapRoute(n…

【蓝桥java】递归基础之输出连续数字

题目&#xff1a;使用递归方法输出连续的数字 代码实现&#xff1a; package xn.zzunit.recurrence;/*** 递归方法输出连续的数字* author tyrantForever**/ public class Project2 {public static void main(String[] args) {printNumber(2, 9);}public static void printNu…

慢慢学Linux驱动开发,第十章,GNU C的扩展

内核开发者使用的C语言涵盖了ISO C99标准和GNU C扩展特性。这里简单介绍一下GNU C的扩展特性。 1.内联&#xff08;inline&#xff09;函数 GNU的C编译器支持内联函数&#xff0c;也是C的一个特性之一。就是函数会在所调用的位置上展开&#xff0c;这样做虽然会导致代码量的增加…

vMA学习笔记之一:将vMA加入域

目的&#xff1a; 将vMA加入域的方法 操作步骤&#xff1a; 1、 开启vMA 2、 按住AltF2切换到虚拟终端界面&#xff0c;使用vi-admin用户登录 2 3、 已经登录进来了 4、 在进行加域操作之前&#xff0c;必须确保DNS配置正确&#xff08;在初始化安装的时候会提示你设置DNS&…

关于DWG文件转换成PDF

最近有这样一个需求&#xff0c;客户会提供DWG文件&#xff0c;因为DWG文件是不能直接在网页上显示的&#xff0c;所以必须对他做处理&#xff0c;要求是转换成PDF格式。我查了很久的资料&#xff0c;很多都是基于C#和.NET的方法&#xff0c;而且都是说的很模糊&#xff0c;不是…

剑指offer--day07

1.1 题目&#xff1a;反转链表&#xff1a;输入一个链表&#xff0c;反转链表后&#xff0c;输出新链表的表头。 1.2 思路&#xff1a;这道题&#xff0c;我们要做到的是反转链表&#xff0c;我们的思路是将前一个节点与后一个节点断开&#xff0c;然后让后一个节点指向前一个节…

【蓝桥java】递归基础之计算共多少种走法

计算从某个位置&#xff08;x,y&#xff09;走到&#xff08;0,0&#xff09; 一共多少种走法 代码实现&#xff1a; package xn.zzunit.recurrence;/*** 从某个位置&#xff08;x,y&#xff09;走到&#xff08;0,0&#xff09; 一共多少种走法* author tyrantForever**/ pub…

数据库设计的三大范式

为了建立冗余较小、结构合理的数据库&#xff0c;设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库&#xff0c;必须满足一定的范式。在实际开发中最为常见的设计范式有三个&#xf…

JS得到对应字段 的值。遍历

这个写法不是经典。我受感触是因为。我写很多代码&#xff0c;没去想过怎么样去节省我们的开发时间&#xff0c;应该去写一些通用性的代码。 而且。我也没有把C#代码优化的思想转到各个地方。像JS的代码。我就没去想过怎么去优化。 加油吧。 function getPageListSet(pageIndex…

微信小程序开发中如何实现侧边栏的滑动效果?

原文链接&#xff1a;https://mp.weixin.qq.com/s/7CM18izpZqf0oc0D75IGmQ1概述在手机应用的开发中侧边栏滑动是很常见的功能&#xff0c;当然在小程序中也不会例外&#xff0c;很多特效还没有成熟案例&#xff0c;只能原生重写&#xff0c;所以今天在网上为大家收集整理来几个…

采购审批专题总结--bob

一采购审批设置的一般步骤&#xff1a; 前置步骤 ①定义安全性控制 N&#xff1a;PO/设置/采购/单据类型 ②使用审批结构 N&#xff1a;PO/设置/组织/财务选项 ③安全层次结构选择 N&#xff1a;PO/设置/组织/采购选项 ④采购…

【蓝桥java】递归基础之39级台阶

题目&#xff1a; 小明刚刚看完电影《第39级台阶》。离开电影院的时候&#xff0c;他数了数礼堂前的台阶数&#xff0c;恰好是39级! 站在台阶前&#xff0c;他突然又想着一个问题&#xff1a; 如果我每一步只能迈上1个或2个台阶。先迈左脚&#xff0c;然后左右交替&#xff0c;…

Linux服务器安装配置JDK

一、准备工作&#xff1a; 1.登录服务器&#xff0c;切换到root用户&#xff08;su - root&#xff0c;然后输入密码&#xff0c;按enter&#xff09;&#xff0c;进入根目录&#xff1a;cd / 2.进入要安装jdk的目录&#xff0c;自己可以创建一个java目录&#xff0c;执行命令如…

Apache的工作原理

Apache的请求处理 尽管不是全部的&#xff0c;但是绝大部分模块都关注处理HTTP请求的某些方面。不过&#xff0c;一个模块不能考虑处理HTTP的所有方面——这是httpd要做的工作。模块化方法的一个好处就是&#xff1a;一个模块可以只关注一个具体的任务&#xff0c;而不去考虑那…

TP框架数据模型

1.TP框架的数据模型需要建在Model文件夹下&#xff1a; 1.数据模型 与控制器相似&#xff0c;但是每个数据模型控制一张数据表。 2.数据模型可写可不写&#xff0c;如果不写 则沿用父类数据模型。 2.访问数据库&#xff1a; 1.更改数据库配置&#xff1a; 2.访问数据库的三种方…

【蓝桥java】递归基础之车辆进出栈

题目&#xff1a; X星球特别讲究秩序&#xff0c;所有道路都是单行线。 一个甲壳虫车队&#xff0c;共16辆车&#xff0c;按照编号先后发车&#xff0c;夹在其它车流中&#xff0c;缓缓前行。 路边有个死胡同&#xff0c;只能容一辆车通过&#xff0c;是临时的检查站&#xff0…

SIP协议的传输层原理报文解析(解读rfc3581)(待排版)

关于rfc3581/rport参数的阐述 一&#xff1a;简述 一般情况下&#xff0c;服务器在接收到request后&#xff0c;应答发向哪里呢&#xff1f;服务器在计算回应应答的算法是一种混合模式&#xff0c;具体说来是这样的&#xff1a; 1&#xff0c;IP&#xff1a;从哪里接收到的就会…