顾名思义。所谓“掉落弹出层”。就是出现一个弹出层,而出现的位置是从上方向下掉落。掉落到指定的位置停止,这样分析起来。和“右下角弹出提醒对话框”比起来,确有异曲同工之妙啊,一个从上向下。一个由下及上。

实现原理:

我们最好还是肢解了这个动作来看,能够大概分为这几个部分:

1、弹出弹出层,弹出层位置在屏幕上方不可见。

2、弹出层从上而下的降落;

3、弹出层到达指定位置,停止降落。

假设加上缓冲弹跳效果的话,就是四部分:

4、出现缓冲弹跳效果。直到精巧,而弹跳效果简单了说,就是以停止降落的位置为轴,弹出层不断出现上下对称位置,而且出现位置距离轴距离逐渐变小,知道重合停止跳动,说起来挺别扭,等会写一下代码就明了了。接下来还是一步步进行分析:

实现步骤:

我们首先要出现弹出层,才干有接下来兴许的部分,而弹出层的出现。事实上能够有下面几种:

*像之前写过的弹出层一样,document.createElement("div");这个在前面已经记录过好几次了呢也

*再有就是提前用html语言写出来,然后用css的样式设置,像visibility:hidden或者display:none,通过js改变其样式visibility:visible或者display:block。这里就不再具体写了。

当然我们须要设定它的弹出位置,事实上至关重要的仅仅有一点:它尽管就在那里,但我们看不到它。

那它到底在哪呢,这里假定已经弹出层是已经存在的,为<div id="test" style="width:300px;height:50px;position:absolute;"></div>,而document.body.scrollTop在ie里通经常使用来表示滚动条距页面的高度,初始阶段一般都是为0的。这样我们将div的top值设为负的div的高,即height值,或者用代码来描写叙述的话就是

var basePostion= document.body.scrollTop-document.getElementById("test").style.height

这样我们有了弹出层。就要来实现它,又要用到我们熟悉的setInterval()了,神器啊

dropstart=setInterval("dropin()",50)//这是上面显现方法,就不所有展示了,各自发挥嘛,上面的两种方式随便选
}
function dropin(){//实现掉落的函数
if (parseInt(crossobj.top)<200+document.getbody.scrollTop){
crossobj.top=parseInt(crossobj.top)+40//这里是每调用一次方法就显露一点。直到所有露出,并不断下降
else{
clearInterval(dropstart)//停止掉落,開始抖动
bouncestart=setInterval(bouncein,50)
}
}

事实上,这里仅仅是将设定距离定在了200上。到这里我们假想,假设将指定的距离变大,再将滚动栏去掉的话,是不是就是一个完整的游戏滚屏啊。听起来不错的样子,不知道是不是真的这么实现的。

书归正传。我们来设定一下最后的这个弹跳效果,一个小应用。可是会增色不少。

function bouncein(){//这里的初始值能够设定为随意数值,可是一定要是以下的增量的整倍数。这样才干终于与对称轴重合
crossobj.top=parseInt(crossobj.top)-bouncelimit//是说距离上方距离=距离上方的位置-弹跳的幅度,分别在上方和下方显示
if (bouncelimit<0){bouncelimit+=8;}//这里是增量
bouncelimit=bouncelimit*-1//这个地方是实现的关键。不管设定值为多少。都要在以下出现一次,在上面出现一次。才干减小距离
if (bouncelimit==0){
clearInterval(bouncestart)
}
}

知识点总结:

事实上在原文中,有非常多关于兼容的一些设定。看了之后大有感慨,那个之后了解全面了再说吧。不似这个就一个小技巧;

神器setInterval();

var a=function(){}和function a(){}是能够类同的,所以我们在调用的时候,能够直接调动a。也能够调用“a()”,这里就注意引號的使用了,函数名调用时不用引號,方法调用时带引號,才发现的。

如今的项目快要收尾了额,顿时感觉轻松了好多。今晚能够早睡会了.....

javascript实现掉落弹出层------Day29的更多相关文章

  1. JavaScript学习笔记(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例

    一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...

  2. JavaScript学习总结(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例

    一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...

  3. Jquery和Javascript 实际项目中写法基础-弹出窗和弹出层 (4)

     一.实际项目中有很多如下界面效果.    二.该效果可以归结为弹出窗或者弹出层来实现的,为什么这么说?看如下代码:      <!DOCTYPE html> <html> & ...

  4. 使用JavaScript实现弹出层效果

    声明 阅读本文需要有一定的HTML.CSS和JavaScript基础 设计 实现弹出层效果的思路非常简单:将待显示的内容先隐藏,在触发某种条件后(如点击按钮),将原本隐藏的内容显示出来. 实现 < ...

  5. javascript网页弹出层练习

    网页中经常出现很多"popup"弹窗效果,这里做一个练习,给我们初学者一个参考. HTML代码: <div id="popup"></div& ...

  6. html+javascript实现可拖动可提交的弹出层对话框效果

    本文为大家介绍下使用html+javascript实现可拖动弹出层.对话框.可提交,具体代码如下,感兴趣的朋友可以参考下,希望对大家有所帮助 <!DOCTYPE HTML PUBLIC &quo ...

  7. JavaScript学习总结(二)——延迟对象、跨域、模板引擎、弹出层、AJAX示例

    一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...

  8. 【Javascript Demo】遮罩层和百度地图弹出层简单实现

    其实想做的就是显示百度地图的弹出层,现在已经简单实现了.示例和代码如下,点击按钮可以看到效果: 1.示例:   2.代码: <!DOCTYPE html PUBLIC "-//W3C/ ...

  9. JavaScript实现弹出层(以layer.open为例)

    首先,引用layer,自行下载. 添加如下两行 <script src=" ../layer/jquery.min.js"></script> <sc ...

随机推荐

  1. Netdata----Linux 性能实时监测工具

    https://my-netdata.io/ https://github.com/firehol/netdata/wiki http://soluck.iteye.com/blog/2291618

  2. pkgadd 软件安装二种方法

    安装文件 pkgadd -d /soft/top-3.6.1-sol10-x86-local 安装目录文件: pkgadd -d ./ SUNWi1cs SUNWi15cs

  3. BMP文件格式实例分析

    1. 以下为一个RGB565-16位BMP位图实际的部分数据: 00000000h: 42 4D 46 58 02 00 00 00 00 00 46 00 00 00 28 00 ; BMFX... ...

  4. 转 UIActivityIndicatorView、UIProgressView 活动与进度指示器-IOS开发

    活动指示器(UIActivityIndicatorView)可以告知用户有一个操作正在进行中.进度指示器(UIProgressView )也具有同样功能,而且还可以告知用户离操作结束还多远. 这两个指 ...

  5. Selenium2+python自动化39-关于面试的题

    前言 最近看到群里有小伙伴贴出一组面试题,最近又是跳槽黄金季节,小编忍不住抽出一点时间总结了下, 回答不妥的地方欢迎各位高手拍砖指点.   一.selenium中如何判断元素是否存在? 首先selen ...

  6. javax.mail 遇到501 mail from address must be same as authorization user 的問題

    使用不同的兩個帳戶发送email时,第一个账户可以发送成功,但到第二个账户的时候就报出了501 mail from address must be same as authorization user ...

  7. [翻译] FMDB

    FMDB https://github.com/ccgus/fmdb This is an Objective-C wrapper around SQLite: http://sqlite.org/ ...

  8. Android之Volley使用

    转自:http://blog.csdn.net/lfdfhl/article/details/12223345 稍微做了一点儿修改 /** * 利用NetworkImageView显示网络图片 */ ...

  9. waf bypass

    1.前言 去年到现在就一直有人希望我出一篇关于waf绕过的文章,我觉得这种老生常谈的话题也没什么可写的.很多人一遇到waf就发懵,不知如何是好,能搜到的各种姿势也是然并卵.但是积累姿势的过程也是迭代的 ...

  10. 让IE6/IE7/IE8支持HTML5标签的js代码

    让IE(ie6/ie7/ie8)支持HTML5元素,我们需要在HTML头部添加以下JavaScript,这是一个简单的document.createElement声明,利用条件注释针对IE来调用这个j ...