js特效代码效果(js常用特效)

http://www.itjxue.com  2023-02-02 03:55  来源:未知  点击次数: 

什么是JS特效

JS特效就是网页中实现的特殊效果或者特殊的功能的一种技术,是用网页脚本(javascript)来编写制作动态特殊效果。

比如图片切换,渐变等等,它为网页活跃了网页的气氛,有时候会起到一定的亲切力。

JavaScript 是根据 "ECMAScript"标准制定的网页脚本语言。这个标准由 ECMA 组织发展和维护。ECMA-262 是正式的 JavaScript 标准。

扩展资料:

能够具有交互性,能够包含更多活跃的元素,就有必要在网页中嵌入其它的技术。如:Javascript、VBScript、Document Object Model(DOM,文档对象模型)、Layers和 Cascading Style Sheets(CSS,层叠样式表)。

JavaScript 使网页增加互动性。JavaScript 使有规律地重复的HTML文段简化,减少下载时间。JavaScript 能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由 CGI 验证。JavaScript 的特点是无穷无尽的,只要你有创意。

JS特效代码--仿windows xp左侧菜单效果

head style type=text/css ! UNKNOWN { COLOR: # dc ; TEXT DECORATION: none} A:visited { COLOR: # dc ; TEXT DECORATION: none} A:hover { COLOR: # cc; TEXT DECORATION: none} A:active { COLOR: #ff ; TEXT DECORATION: none}

cB CDFF { FONT SIZE: px; COLOR: #b cdff} c DC { FONT SIZE: px; COLOR: # dc }

/style script language="JavaScript" !

function MFXinitMenu(){ IE = document all ? : ; NN = document layers ? : ; HIDDEN = (NN) ? hide : hidden ; VISIBLE = (NN) ? show : visible ; myLayer=new Array(); mySpeed= ; subLeft= ; closes=true; myLayer[ ]=(NN) ? document MFX : document all MFX style; myLayer[ ]=(NN) ? document MFX : document all MFX style; myLayer[ ]=(NN) ? document MFX : document all MFX style; myLayer[ ]=(NN) ? document MFX : document all MFX style; myLayer[ ]=(NN) ? document MFX : document all MFX style; myLayer[ ]=(NN) ? document MFX : document all MFX style; myLayer[ ]=(NN) ? document MFX : document all MFX style; myLayer[ ]=(NN) ? document MFX : document all MFX style; running=false; whichOpen= ; lastMain=myLayer length ; MFXmain=new Array(); for(i= ; imyLayer length; i++){ mainORsub= i % ; MFXmain[i] = mainORsub ? : ; } myTop=new Array(); myLeft=new Array(); myHeight=new Array(); myWidth=new Array(); mySlide=new Array(); for(i= ; imyLayer length; i++){ if(NNMFXmain[i]){ if(i== ){ myTop[i]=myLayer[i] top; myLeft[i]=myLayer[i] left;} else{ myLeft[i]=myLeft[i ]; myTop[i]=myTop[i ]+myHeight[i ];} myHeight[i]=myLayer[i] clip height; myWidth[i]=myLayer[i] clip width; myLayer[i] left=myLeft[i]; myLayer[i] top=myTop[i]; myLayer[i] visibility=VISIBLE;} if(NN!MFXmain[i]){ myTop[i]=myTop[i ]+myHeight[i ]; myLeft[i]=myLeft[i ]; myHeight[i]=myLayer[i] clip height; myWidth[i]=myLayer[i] clip width; mySlide[i]=myTop[i]+myHeight[i]; myLayer[i] left=myLeft[i]+subLeft; myLayer[i] top=myTop[i];} if(IEMFXmain[i]){ if(i== ){ myLeft[i]=myLayer[i] pixelLeft; myTop[i]=myLayer[i] pixelTop;} else{ myLeft[i]=myLeft[i ]; myTop[i]=myTop[i ]+myHeight[i ];} myHeight[i]=myLayer[i] pixelHeight; myWidth[i]=myLayer[i] pixelWidth; myLayer[i] left=myLeft[i]; myLayer[i] top=myTop[i]; myLayer[i] visibility=VISIBLE;} if(IE!MFXmain[i]){ myTop[i]=myTop[i ]+myHeight[i ]; myLeft[i]=myLeft[i ]; myHeight[i]=myLayer[i] pixelHeight; myWidth[i]=myLayer[i] pixelWidth; myLayer[i] pixelLeft=myLeft[i]+subLeft; myLayer[i] pixelTop=myTop[i]; mySlide[i]=myTop[i]+myHeight[i]; } } } function MFXrunMenu(myName newspeed){ ieStep= ; thereS=false; thereC=false; if(newspeed ){mySpeed=newspeed;} first=myName; if(whichOpen== !runningMFXmain[myName]!(whichOpen==myName)){ running=true; if(NN){ myLayer[myName+ ] clip height= ; myLayer[myName+ ] visibility=VISIBLE; } if(IE){ myLayer[myName+ ] clip= "rect(" + ("auto") +" "+ ("auto") +" "+ ( ) +" "+ ("auto") +")"; myLayer[myName+ ] visibility=VISIBLE; } MFXopenMenuS(myName); MFXopenMenuC(myName); } if(whichOpen= !running!(whichOpen==myName)){ running=true; second=whichOpen; ieStep =myHeight[second+ ]; thereCS=false; thereCC=false; MFXcloseMenuS(second); MFXcloseMenuC(second); } if(whichOpen= !runningwhichOpen==myNamecloses){ running=true; second=whichOpen; ieStep =myHeight[second+ ]; thereCS=false; thereCC=false; MFXcloseMenuS(second); MFXcloseMenuC(second); ?} } function MFXstopCloseS(myName){ running=false; thereCS=true; if(closesfirst==whichOpen){whichOpen= ;} else{whichOpen= ; MFXrunMenu(first); } } function MFXstopOpenS(myName){ running=false; thereS=true; if(IE){myLayer[myName+ ] clip= "rect(" + ("auto") +" "+ ("auto") +" "+ ("auto") +" "+ ("auto") +")";} whichOpen=myName; } function MFXopenMenuS(myName){ myStep=mySpeed; if(NN!thereS!(first==lastMain)){ if(myLayer[first+ ] top+myStepmySlide[first+ ]){ myStep=mySlide[first+ ] myLayer[first+ ] top; } for(i=first+ ; imyLayer length; i+= ){ myLayer[i] top+=myStep; } if(myLayer[first+ ] top==mySlide[first+ ]){ MFXstopOpenS(first) } if(running)setTimeout( MFXopenMenuS(first) ); } if(IE!thereS!(first==lastMain)){ if(myLayer[first+ ] pixelTop+myStepmySlide[first+ ]){ myStep=mySlide[first+ ] myLayer[first+ ] pixelTop; } for(i=first+ ; imyLayer length; i+= ){ myLayer[i] pixelTop+=myStep; } if(myLayer[first+ ] pixelTop==mySlide[first+ ]){ MFXstopOpenS(first) } if(running)setTimeout( MFXopenMenuS(first) ); } } function MFXopenMenuC(myName){ myStep=mySpeed; if(NN!thereC){ if ((myLayer[first+ ] clip height+myStep)myHeight[first+ ]){ myLayer[first+ ] clip height=myHeight[first+ ] } if(myLayer[first+ ] clip height==myHeight[first+ ]){ thereC=true; whichOpen=first; MFXstopOpenS(first)

}else{ myLayer[first+ ] clip height+=myStep;

} if(running)setTimeout( MFXopenMenuC(first) ); } if(IE!thereC){ ieStep+=myStep; myLayer[myName+ ] clip= "rect(" + ("auto") +" "+ ("auto") +" "+ (ieStep) +" "+ ("auto") +")";

if(ieStep=myHeight[first+ ]){ thereC=true; whichOpen=first; MFXstopOpenS(first) } if(running)setTimeout( MFXopenMenuC(first) ); } } function MFXcloseMenuS(myName){ myStep=mySpeed; if(NN!thereCS!(second==lastMain)){ if(myLayer[second+ ] top myStepmyTop[second+ ]){ myStep=myLayer[second+ ] top myTop[second+ ]; } for(i=second+ ; imyLayer length; i+= ){ myLayer[i] top =myStep;

} if(myLayer[second+ ] top==myTop[second+ ]){ MFXstopCloseS(second); } if(running)setTimeout( MFXcloseMenuS(second) ); } if(IE!thereCS!(second==lastMain)){ if(myLayer[second+ ] pixelTop myStepmyTop[second+ ]){ myStep=myLayer[second+ ] pixelTop myTop[second+ ]; } for(i=second+ ; imyLayer length; i+= ){ myLayer[i] pixelTop =myStep;

} if(myLayer[second+ ] pixelTop==myTop[second+ ]){ MFXstopCloseS(second); } if(running)setTimeout( MFXcloseMenuS(second) ); } } function MFXcloseMenuC(myName){ myStep= mySpeed; ieStep =mySpeed; if(NN!thereCC){ if ((myLayer[second+ ] clip bottom+myStep) ){ myLayer[second+ ] clip bottom= ; } if(myLayer[second+ ] clip bottom== ){ thereCC=true;

if(second==lastMain)MFXstopCloseS(second); }else{ myLayer[second+ ] clip bottom+=myStep;

} if(running)setTimeout( MFXcloseMenuC(second) ); } if(IE!thereCC){ if(ieStep = ){ myLayer[myName+ ] clip= "rect(" + ("auto") +" "+ ("auto") +" "+ ( ) +" "+ ("auto") +")"; thereCC=true; if(second==lastMain)MFXstopCloseS(second); }else{ myLayer[myName+ ] clip= "rect(" + ("auto") +" "+ ("auto") +" "+ (ieStep ) +" "+ ("auto") +")";

} if(running)setTimeout( MFXcloseMenuC(second) ); } }

function MM_findObj(n d) { //v ?var p i x; if(!d) d=document; if((p=n indexOf("?")) parent frames length) { ?d=parent frames[n substring(p+ )] document; n=n substring( p);} ?if(!(x=d[n])d all) x=d all[n]; for (i= ;!xid forms length;i++) x=d forms[i][n]; ?for(i= ;!xd layersid layers length;i++) x=MM_findObj(n d layers[i] document); ?if(!x document getElementById) x=document getElementById(n); return x; } // /script /head

body onload="MFXinitMenu()" bgcolor="# B "

lishixinzhi/Article/program/Java/JSP/201311/20192

前端开发中常用到的js特效有哪些

HTML5 DOM 选择器

// querySelector() 返回匹配到的第一个元素var item = document.querySelector('.item');console.log(item);// querySelectorAll() 返回匹配到的所有元素,是一个nodeList集合var items = document.querySelectorAll('.item');console.log(items[0]);1234567

阻止默认行为

// 原生jsdocument.getElementById('btn').addEventListener('click', function (event) { event = event || window.event; if (event.preventDefault){ // w3c方法 阻止默认行为

event.preventDefault();

} else{ // ie 阻止默认行为

event.returnValue = false;

}

}, false);// jQuery$('#btn').on('click', function (event) { event.preventDefault();

});1234567891011121314151617

阻止冒泡

// 原生jsdocument.getElementById('btn').addEventListener('click', function (event) { event = event || window.event; if (event.stopPropagation){ // w3c方法 阻止冒泡

event.stopPropagation();

} else{ // ie 阻止冒泡

event.cancelBubble = true;

}

}, false);// jQuery$('#btn').on('click', function (event) { event.stopPropagation();

});1234567891011121314151617

鼠标滚轮事件

$('#content').on("mousewheel DOMMouseScroll", function (event) {

// chrome ie || // firefox

var delta = (event.originalEvent.wheelDelta (event.originalEvent.wheelDelta 0 ? 1 : -1)) || (event.originalEvent.detail (event.originalEvent.detail 0 ? -1 : 1));

if (delta 0) {

// 向上滚动

console.log('mousewheel top');

} else if (delta 0) { // 向下滚动

console.log('mousewheel bottom');

}

});123456789101112

检测浏览器是否支持svg

function isSupportSVG() {

var SVG_NS = ''; return !!document.createElementNS !!document.createElementNS(SVG_NS, 'svg').createSVGRect;

}

// 测试console.log(isSupportSVG());1234567

检测浏览器是否支持canvas

function isSupportCanvas() {

if(document.createElement('canvas').getContext){ return true;

}else{ return false;

}

}// 测试,打开谷歌浏览器控制台查看结果console.log(isSupportCanvas());12345678910

检测是否是微信浏览器

function isWeiXinClient() {

var ua = navigator.userAgent.toLowerCase();

if (ua.match(/MicroMessenger/i)=="micromessenger") {

return true;

} else {

return false;

}

}// 测试alert(isWeiXinClient());1234567891011

jQuery 获取鼠标在图片上的坐标

$('#myImage').click(function(event){

//获取鼠标在图片上的坐标

console.log('X:' + event.offsetX+'\n Y:' + event.offsetY);

//获取元素相对于页面的坐标

console.log('X:'+$(this).offset().left+'\n Y:'+$(this).offset().top);

});1234567

验证码倒计时代码

!-- dom --input id="send" type="button" value="发送验证码"12

// 原生js版本var times = 60, // 临时设为60秒

timer = null;

document.getElementById('send').onclick = function () {

// 计时开始

timer = setInterval(function () {

times--; if (times = 0) {

send.value = '发送验证码';

clearInterval(timer);

send.disabled = false;

times = 60;

} else {

send.value = times + '秒后重试';

send.disabled = true;

}

}, 1000);

}1234567891011121314151617181920

// jQuery版本var times = 60,

timer = null;

$('#send').on('click', function () {

var $this = $(this); // 计时开始

timer = setInterval(function () {

times--; if (times = 0) {

$this.val('发送验证码');

clearInterval(timer);

$this.attr('disabled', false);

times = 60;

} else {

$this.val(times + '秒后重试');

$this.attr('disabled', true);

}

}, 1000);

});12345678910111213141516171819202122

常用的一些正则表达式

//匹配字母、数字、中文字符

/^([A-Za-z0-9]|[\u4e00-\u9fa5])*$/

//验证邮箱

/^\w+@([0-9a-zA-Z]+[.])+[a-z]{2,4}$/

//验证手机号

/^1[3|5|8|7]\d{9}$/

//验证URL

/^http:\/\/.+\./

//验证身份证号码

/(^\d{15}$)|(^\d{17}([0-9]|X|x)$)/

//匹配中文字符的正则表达式

/[\u4e00-\u9fa5]/

//匹配双字节字符(包括汉字在内)

/[^\x00-\xff]/1234567891011121314151617181920

js时间戳、毫秒格式化

function formatDate(now) {

var y = now.getFullYear(); var m = now.getMonth() + 1; // 注意js里的月要加1

var d = now.getDate(); var h = now.getHours();

var m = now.getMinutes();

var s = now.getSeconds(); return y + "-" + m + "-" + d + " " + h + ":" + m + ":" + s;

}

var nowDate = new Date(2016, 5, 13, 19, 18, 30, 20);

console.log(nowDate.getTime()); // 获得当前毫秒数: 1465816710020console.log(formatDate(nowDate));123456789101112131415

js限定字符数(注意:一个汉字算2个字符)

input id="txt" type="text"//字符串截取function getByteVal(val, max) {

var returnValue = ''; var byteValLen = 0; for (var i = 0; i val.length; i++) { if (val[i].match(/[^\x00-\xff]/ig) != null) byteValLen += 2; else byteValLen += 1; if (byteValLen max) break;

returnValue += val[i];

} return returnValue;

}

$('#txt').on('keyup', function () {

var val = this.value; if (val.replace(/[^\x00-\xff]/g, "**").length 14) { this.value = getByteVal(val, 14);

}

});12345678910111213141516171819

js判断是否移动端及浏览器内核

var browser = {

versions: function() {

var u = navigator.userAgent;

return {

trident: u.indexOf('Trident') -1, //IE内核

presto: u.indexOf('Presto') -1, //opera内核

webKit: u.indexOf('AppleWebKit') -1, //苹果、谷歌内核

gecko: u.indexOf('Firefox') -1, //火狐内核Gecko

mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端

ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios

android: u.indexOf('Android') -1 || u.indexOf('Linux') -1, //android

iPhone: u.indexOf('iPhone') -1 , //iPhone

iPad: u.indexOf('iPad') -1, //iPad

webApp: u.indexOf('Safari') -1 //Safari

};

}

}

if (browser.versions.mobile() || browser.versions.ios() || browser.versions.android() || browser.versions.iPhone() || browser.versions.iPad()) {

alert('移动端');

}123456789101112131415161718192021

之前我用过一个检测客户端的库 觉得挺好用的,也推荐给大家 叫 device.js,大家可以 Googel 或 百度

GItHub仓库地址:

getBoundingClientRect() 获取元素位置

//它返回一个对象,其中包含了left、right、top、bottom四个属性var myDiv = document.getElementById('myDiv');var x = myDiv.getBoundingClientRect().left;

var y = myDiv.getBoundingClientRect().top;

// 相当于jquery的: $(this).offset().left、$(this).offset().top // js的:this.offsetLeft、this.offsetTop123456

HTML5全屏

function fullscreen(element) {

if (element.requestFullscreen) {

element.requestFullscreen();

} else if (element.mozRequestFullScreen) {

element.mozRequestFullScreen();

} else if (element.webkitRequestFullscreen) {

element.webkitRequestFullscreen();

} else if (element.msRequestFullscreen) {

element.msRequestFullscreen();

}}

fullscreen(document.documentElement);12345678910111213

关于Javascript 特效代码

script language="JavaScript"

!-- Hide the script from old browsers --

function compute(obj) //定义一个函数 名字叫compute 他接收了一个参数 obj

{obj.expr.value = eval(obj.expr.value)} //当前的参数的值和下文参数值所用的方法相同

var one = '1' //定义一个字符型的1

var two = '2' //定义一个字符型的2

var three = '3' //定义一个字符型的3

var four = '4' //定义一个字符型的4

var five = '5' //定义一个字符型的5

var six = '6' //定义一个字符型的6

var seven = '7' //定义一个字符型的7

var eight = '8' //定义一个字符型的8

var nine = '9' //定义一个字符型的9

var zero = '0' //定义一个字符型的0

var plus = '+' //定义一个字符型的+

var minus = '-' //定义一个字符型的*

var multiply = '*' //定义一个字符型的*

var divide = '/' //定义一个字符型的/

var decimal = '.' //定义一个字符型的.

function enter(obj, string) //定义一个函数 名字叫enter 他接收了一个参数 obj

{obj.expr.value += string} //让 obj的值加上 '+'后面的值

function clear(obj) //定义一个函数 名字叫clear 他接收了一个参数 obj

{obj.expr.value = ''} //让obj的值等于空

// --End Hiding Here --

/script

form name="calc"

table border=1

td colspan=4input type="text" name="expr" size=30 action="compute(this.form)" tr

!--提交表单--

tdinput type="button" value=" 7 " onClick="enter(this.form, seven)"!--当鼠标点击

按钮的时候提交给函数按钮中的值--

tdinput type="button" value=" 8 " onClick="enter(this.form, eight)"!--当鼠标点击

按钮的时候提交给函数按钮中的值--

tdinput type="button" value=" 9 " onClick="enter(this.form, nine)"!--当鼠标点击

按钮的时候提交给函数按钮中的值--

tdinput type="button" value=" / " onClick="enter(this.form, divide)"!--当鼠标点

击按钮的时候提交给函数按钮中的值--

trtdinput type="button" value=" 4 " onClick="enter(this.form, four)"!--当鼠标

点击按钮的时候提交给函数按钮中的值--

tdinput type="button" value=" 5 " onClick="enter(this.form, five)"!--当鼠标点击

按钮的时候提交给函数按钮中的值--

tdinput type="button" value=" 6 " onClick="enter(this.form, six)"!--当鼠标点击按

钮的时候提交给函数按钮中的值--

tdinput type="button" value=" * " onClick="enter(this.form, multiply)"!--当鼠标

点击按钮的时候提交给函数按钮中的值--

trtdinput type="button" value=" 1 " onClick="enter(this.form, one)"!--当鼠标点

击按钮的时候提交给函数按钮中的值--

tdinput type="button" value=" 2 " onClick="enter(this.form, two)"!--当鼠标点击按

钮的时候提交给函数按钮中的值--

tdinput type="button" value=" 3 " onClick="enter(this.form, three)"!--当鼠标点击

按钮的时候提交给函数按钮中的值--

tdinput type="button" value=" - " onClick="enter(this.form, minus)"!--当鼠标点

击按钮的时候提交给函数按钮中的值--

trtd colspan=2input type="button" value=" 0 " onClick="enter

(this.form, zero)"!--当鼠标点击按钮的时候提交给函数按钮中的值--

tdinput type="button" value=" . " onClick="enter(this.form, decimal)"!--当鼠标

点击按钮的时候提交给函数按钮中的值--

tdinput type="button" value=" + " onClick="enter(this.form, plus)"!--当鼠标点击

按钮的时候提交给函数按钮中的值--

trtd colspan=2input type="button" value=" = " onClick="compute(this.form)"!

--提交表单在javascript中进行运算--

td colspan=2input type="button" value="AC" size= 3 onClick="clear(this.form)" !--

点击此按钮调用此函数--

/table

/form

(责任编辑:IT教学网)

更多