1. 程式人生 > >js簡單浮動框

js簡單浮動框

var Message={ set: function() {//最小化與恢復狀態切換 var set=this.minbtn.status == 1?[0,1,'block',this.char[0],'最小化']:[1,0,'none',this.char[1],'展開']; this.minbtn.status=set[0]; this.win.style.borderBottomWidth=set[1]; this.content.style.display =set[2]; this.minbtn.innerHTML =set[3
] this.minbtn.title = set[4]; this.win.style.top = this.getY().top; }, close: function() {//關閉 this.win.style.display = 'none'; window.onscroll = null; }, setOpacity: function(x) {//設定透明度 var v = x >= 100 ? '': 'Alpha(opacity=' + x + ')'; this
.win.style.visibility = x<=0?'hidden':'visible';//IE有絕對或相對定位內容不隨父透明度變化的bug this.win.style.filter = v; this.win.style.opacity = x / 100; }, show: function() {//漸顯 clearInterval(this.timer2); var me = this,fx = this.fx(0, 100, 0.1),t = 0; this.timer2 = setInterval(function
() {
t = fx(); me.setOpacity(t[0]); if (t[1] == 0) {clearInterval(me.timer2) } },10); }, fx: function(a, b, c) {//緩衝計算 var cMath = Math[(a - b) > 0 ? "floor": "ceil"],c = c || 0.1; return function() {return [a += cMath((b - a) * c), a - b]} }, getY: function() {//計算移動座標 var d = document,b = document.body, e = document.documentElement; var s = Math.max(b.scrollTop, e.scrollTop); var h = /BackCompat/i.test(document.compatMode)?b.clientHeight:e.clientHeight; var h2 = this.win.offsetHeight; return {foot: s + h + h2 + 2+'px',top: s + h - h2 - 2+'px'} }, moveTo: function(y) {//移動動畫 clearInterval(this.timer); var me = this,a = parseInt(this.win.style.top)||0; var fx = this.fx(a, parseInt(y)); var t = 0 ; this.timer = setInterval(function() { t = fx(); me.win.style.top = t[0]+'px'; if (t[1] == 0) { clearInterval(me.timer); me.bind(); } },10); }, bind:function (){//繫結視窗滾動條與大小變化事件 var me=this,st,rt; window.onscroll = function() { clearTimeout(st); clearTimeout(me.timer2); me.setOpacity(0); st = setTimeout(function() { me.win.style.top = me.getY().top; me.show(); },600); }; window.onresize = function (){ clearTimeout(rt); rt = setTimeout(function() {me.win.style.top = me.getY().top},100); } }, init: function() {//建立HTML function $(id) {return document.getElementById(id)}; this.win=$('msg_win'); var set={minbtn: 'msg_min',closebtn: 'msg_close',title: 'msg_title',content: 'msg_content'}; for (var Id in set) {this[Id] = $(set[Id])}; var me = this; this.minbtn.onclick = function() {me.set();this.blur()}; this.closebtn.onclick = function() {me.close()}; this.char=navigator.userAgent.toLowerCase().indexOf('firefox')+1?['_','::','×']:['0','2','r'];//FF不支援webdings字型 this.minbtn.innerHTML=this.char[0]; this.closebtn.innerHTML=this.char[2]; setTimeout(function() {//初始化最先位置 me.win.style.display = 'block'; me.win.style.top = me.getY().foot; me.moveTo(me.getY().top); },0); return this; } }; Message.init();

相關推薦

js簡單浮動

var Message={ set: function() {//最小化與恢復狀態切換 var set=this.minbtn.status == 1?[0,1,'block',this.char[0],'最小化']:[1,0,'none',this.char[1],'展開'];

電力項目十三--js添加浮動

borde div bili fse ott images pac center 修改 修改page/menu/loading.jsp頁面 首先,頁面中引入浮動窗樣式css <!-- 浮動窗口樣式css begin --> <style type="

require.js簡單入門

去掉 function syn ltr utf-8 js文件 turn set blog 推薦文章:http://www.ruanyifeng.com/blog/2012/11/require_js.html 1、以下例子主要實現功能,   1)引用jq庫獲取dom中元

JS簡單實現自定義右鍵菜單

ans idt 右鍵 動畫 忘記 span spa round 部分 RT,一個簡單的例子,僅僅講述原理 <div id="menu" style="width: 0;height: 0;background: cadetblue;position: absolu

js彈出、對話、提示、彈窗總結

js彈出框、對話框、提示框、彈窗總結一、JS的三種最常見的對話框//====================== JS最常用三種彈出對話框 ======================== //彈出對話框並輸出一段提示信息 function ale() { /

fullpage.js簡單教程(一)

style 準備工作 iba 耐心 兼容性 css3 動畫 lin per orm 最近準備做一個全屏滾動的網頁,在網上搜了一堆教程,結果大多都是一些很籠統的使用方法,對我這種耐心不超過3秒的笨蛋來說,很晦澀很籠統,所以打算邊研究邊自己寫個教程,有什麽不懂的,我再回來翻看筆

cookie的簡單留言

數據 res 系統 網頁 多說 turn 再次 內容 .get   我們在網頁瀏覽時退出後,再次進入時會有上次的記錄,這就用的上cookie屬性了,cookie就是服務器暫存放在你計算機上的一筆資料,好讓服務器用來辨認你的計算機。當你在瀏覽網站的時候,Web服務器會先送一小

chart.js簡單的圖標繪制工具

圖表 .cn font 寬度 雷達 20px convert alt fff 前 言 chart.js  Chart.js幫你用不同的方式讓你的數據變得可視化。每種類型的圖表都有動畫效果,並且看上去非常棒,即便是在retina屏幕上。  Chart.js基於HTML

java方法裏面生成js彈出

核心 代碼 .get type con har javascrip java方法 彈出 核心代碼:方法參數要有response response.setContextType("text/html;charset=UTF-8"); PrintWrite out = re

前端小白之每天學習記錄----js簡單的組件封裝

學習 styles this src 元素 modal info clas mov 設計模式:是解決問題的模板 關於設計模式,可以閱讀湯姆大叔的博文http://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html 這裏

HTML+CSS+JS簡單實現支付寶付款界面效果

6.5 body pre -c css brush ges line col HTML+JS部分 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">

js簡單對象List自定義屬性排序

urn cnblogs color bject ray asc obj var pre 簡單對象List自定義屬性排序 <script type="text/javascript"> var objectList = new Array

Selenium--調用js,對話處理 (python)

dom 執行 isp 實現 wid 復選框 switch get 如果 前言: 本次教程針對Python語言,selenium教程(調用js,對話框處理) 一、對話框處理 更多的時候我們在實際的應用中碰到的並不是簡單警告框,而是提供更多功能的會話框。 本節重點: 1、打開

js簡單圖片切換

opened view img play display ima onclick show back 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <met

js 簡單實現FIFO

js fifo /* ======================================== LRU 最近最少使用 ======================================== */ function FifoCache(limit){ limit = limit|

angular.js 下拉選中 根據後臺返回值

tro script rip pre 後臺 根據 length -o lec 前景,根據後臺返回值選中某個項 <!DOCTYPE html><html><head> <meta charset="utf-8"> &

JS簡單循環遍歷json數組的方法

否則 alert 情況 number -i uncaught for class syntax 例如數據庫裏面的json字符串是這樣的 1 2 3 4 5 var str = ‘[{"name":"宗2瓜","num":"1","price":"122"

vue.js簡單入門

aries json ons htm 變更 .cn get com 一個 Vue.js是什麽? Vue.js 是一套構建用戶界面的漸進式框架。 與其他重量級框架不同的是,Vue 采用自底向上增量開發的設計。Vue 的核心庫只關註視圖層,它不僅易於上手,還便於與第三方庫

HTML--JS 獲取選擇信息

信息 pan function orm har itl pos button spa 1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <met

js消息

form gpo null urn 請求 layer cat 消息 cal <script> function del(obj, id) { layer.confirm(‘是否要刪除信息!‘,