本文目录一览:
js控制页面滚动(实例)
目标描述:多个图片排列下来,按右边的小按钮,抵达相应位置,鼠标滑动,抵达下一图,或者上一图
知识点:onmousewheel,addEventListener,scrollTo,setTimeout
过程:
1.body 宽,高钉死,100vw,100vh,overflow:hidden 使得不出现滚动条,不然不好看
2.图片放进去,排起来,(注意:默认空隙的处理,可以使用flex布局,空隙就不见了)
3.制作相对于视窗的按钮,几张图片就几个按钮,(position: fixed;计算一下高度,可以利用calc计算top使得上下居中)
4.美化一下,css写写
5.先写简单的按钮事件
6.写监听滑动事件(onmousewheel在火狐无效,DOMMouseScroll只在火狐有效)
react在componentDidMount的时候监听
7.补充写一下火狐的
9.测试检查一下。
完成啦,啦啦啦~
我的截图:
缺点:这里我是一直对页面进行监听,导致滑动过快对时候动画效果开始执行对时间延后。体现为滑动对轻,整个就流畅一点。
ps:写这种带计算带页面,我觉得是考验思维的,你可以对这里的知识点不熟练,但是你必须得能理解每一步的加加减减。
JS隐藏号码中间4位代码实例
本文实例为大家分享了JS隐藏号码中间4位的具体代码,供大家参考,具体内容如下
function
resetPhone(phone)
{
var
str
=
String(phone)
var
len
=
str.length;
var
prev,next;
if
(len
=
7)
{
prev
=
str.slice(-len,-7)
next
=
str.slice(-3)
str
=
prev+"****"+next
}
else
if
(len
7
len
=
6)
{
prev
=
str.slice(-len,-4)
next
=
str.slice(-2)
str
=
prev
+
"**"
+
next
}
console.log(str)
return
str
}
上面可以正常使用,正则更加方便,但是如果中间连续重复数字有点小问题(如下面的正则方式)。
function
resetPhone(phone)
{
var
str
=
String(phone)
var
len
=
str.length;
if
(len
=
7)
{
var
reg
=
str.slice(-7,
-3)
return
str.replace(reg,
"****")
}
else
if
(len
7
len
=
6)
{
//1234567
var
reg
=
str.slice(-4,
-2)
return
str.replace(reg,
"**")
}
}
以上所述是小编给大家介绍的JS隐藏号码中间4位详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:JS中实现隐藏部分姓名或者电话号码的代码JS中input表单隐藏域及其使用方法JS实现“隐藏与显示”功能(多种方法)javascript点击按钮实现隐藏显示切换效果AngularJS实现元素显示和隐藏的几个案例JS实现鼠标点击展开或隐藏表格行的方法jquery和js实现对div的隐藏和显示方法js设置控件的隐藏与显示的两种方法js判断元素是否隐藏的方法javascript获取隐藏元素(display:none)的高度和宽度的方法
如何学Web前端
网页开发工具
学习web前端开发,网页开发工具有FrontPage,会用 Word 的人很容易学会FrontPage。还有一个常用的是Dreamweaver。这两种都是使用最多的HTML网页制作工具,我使用的是Dreamweaver cs6,因为这套软件提供了一套直观的可视界面,融合了html5一些新的内容。包括网格布局什么的。
学习内容
HTML、CSS和JavaScript。html是内容,css是表现,javascript是行为。前端开发的门槛其实非常低,与服务器端语言先慢后快的学习曲线相比,前端开发的学习曲线是先快后慢。所以,对于从事IT工作的人来说,前端开发是个不错的初入点。也正因为如此,前端开发的领域有很多自学成“才”的同行。html是最基础的,现在流行的是html5设计,先学会网页布局。css是用来美化html页面的为页面提供布局和格式。最后再学javascript。如果你把每天看电影、看电视剧的时间用来学习,我想一个星期入门是没有问题的。
基础知识:
1. html + css。这部分建议在 上学习,边学边练,每章后还有小测试。之后可以模仿一些网站做些页面。本站提供的个人博客模板都是比较简单的单页,可以下载下来模仿自己做一个。理解css每个元素的属性,样式的实现不一定只有一种写法,多想一想还有没有什么需要改进的地方。
《10条HTML代码编写技巧》
《CSS简明教程》
《Div+CSS 规则整理 以及注意问题》
2、JavaScript。不是所有的网页都必须有js,但是要想实现一些超酷的功能和界面的时候,就需要涉及到js。如果没有其他编程语言的基础的话,学起来可能要费些力,还是建议先在 w3school上学习。之后建议马上看《javascript语言精粹》
《JS经典实例》
3、Photoshop、flash。熟悉会一点儿就行了,没必要全部都学得精通,当然如果你在学习的过程中,发现你ps或者flash比较感兴趣的话,也可以尝试做美工这一行。
4、html5和css3。可以先了解一下,然后再入手。毕竟IE的浏览器大多还不支持。
《学习Html5建站教程(一)Html5简介》
《学习Html5建站教程(二)Html5 语法与规则》
《学习Html5建站教程(三)Html5博客页面设计之理论》
《学习Html5建站教程(四)用HTML5做个人的网站》
5、浏览器兼容。懂web标准,熟练手写 xhtml css3 并符合 符合w3c标准。代码能兼容主流浏览器Firfox,Chrome、Safari、IE、Opera。虽然IE6很多都不兼容,但现在还使用的人还是有的。W3C验证地址: 通过验证指定URI的CSS内容,可以帮我们检查一下有没有错误。
6、熟悉一门后台编程语言 asp、php、jsp等《关于asp、php、asp.net、jsp的学习心得、介绍及优缺点比较》
web前端设计师前景
遇到很多想换行的朋友,第一句就问,这行赚钱吗?我相信一句话,没有付出,是没有回报的!前面已经说过了,咱们这行门槛是很低的,所以薪资阶段也不一样。2000初入这行的现在还普遍,工作经验2年以上,有很多代表性作品的时候,工资在4000左右;高手级别的估计在6000左右,大师级别这个阶段的薪资参考:10000以上(上海北京深圳为例)网页设计师课程一般包括:Photoshop、Fireworks、用户界面设计实操,xhtml、css、dreamweaver、网站架构与网站策划、flash动画制作,域名与空间、ftp、dhtml、javascript、动态交互网站(asp、php、aja)
JS基于面向对象实现的拖拽库实例
本文实例讲述了JS基于面向对象实现的拖拽库。分享给大家供大家参考。具体如下:
这是一个面向对象的JS拖拽库,可设置水平锁定、垂直锁定、锁定位置、锁定范围等,设定这些范围后,只能在设定的模式下拖动,我觉得这是个挺不错的拖拽实例。
运行效果截图如下:
在线演示地址如下:
具体代码如下:
!DOCTYPE
html
PUBLIC
"-//W3C//DTD
XHTML
1.0
Transitional//EN"
""
html
xmlns=""
head
meta
http-equiv="Content-Type"
content="text/html;
charset=utf-8"
/
title拖拽库/title
style
type="text/css"
div,h2,p{margin:0;padding:0;}
body{font:14px/1.5
arial;}
#box{width:100px;height:100px;background:#fef4eb;padding:5px;margin:50px;border:1px
solid
#f60;}
#box
.title{height:25px;background:#f60;}
#tool{margin-bottom:10px;}
/style
script
type="text/javascript"
function
Drag()
{
//初始化
this.initialize.apply(this,
arguments)
}
Drag.prototype
=
{
//初始化
initialize
:
function
(drag,
options)
{
this.drag
=
this.$(drag);
this._x
=
this._y
=
0;
this._moveDrag
=
this.bind(this,
this.moveDrag);
this._stopDrag
=
this.bind(this,
this.stopDrag);
this.setOptions(options);
this.handle
=
this.$(this.options.handle);
this.maxContainer
=
this.$(this.options.maxContainer);
this.maxTop
=
Math.max(this.maxContainer.clientHeight,
this.maxContainer.scrollHeight)
-
this.drag.offsetHeight;
this.maxLeft
=
Math.max(this.maxContainer.clientWidth,
this.maxContainer.scrollWidth)
-
this.drag.offsetWidth;
this.limit
=
this.options.limit;
this.lockX
=
this.options.lockX;
this.lockY
=
this.options.lockY;
this.lock
=
this.options.lock;
this.onStart
=
this.options.onStart;
this.onMove
=
this.options.onMove;
this.onStop
=
this.options.onStop;
this.handle.style.cursor
=
"move";
this.changeLayout();
this.addHandler(this.handle,
"mousedown",
this.bind(this,
this.startDrag))
},
changeLayout
:
function
()
{
this.drag.style.top
=
this.drag.offsetTop
+
"px";
this.drag.style.left
=
this.drag.offsetLeft
+
"px";
this.drag.style.position
=
"absolute";
this.drag.style.margin
=
"0"
},
startDrag
:
function
(event)
{
var
event
=
event
||
window.event;
this._x
=
event.clientX
-
this.drag.offsetLeft;
this._y
=
event.clientY
-
this.drag.offsetTop;
this.addHandler(document,
"mousemove",
this._moveDrag);
this.addHandler(document,
"mouseup",
this._stopDrag);
event.preventDefault
event.preventDefault();
this.handle.setCapture
this.handle.setCapture();
this.onStart()
},
moveDrag
:
function
(event)
{
var
event
=
event
||
window.event;
var
iTop
=
event.clientY
-
this._y;
var
iLeft
=
event.clientX
-
this._x;
if
(this.lock)
return;
this.limit
(iTop
(iTop
=
0),
iLeft
(iLeft
=
0),
iTop
this.maxTop
(iTop
=
this.maxTop),
iLeft
this.maxLeft
(iLeft
=
this.maxLeft));
this.lockY
||
(this.drag.style.top
=
iTop
+
"px");
this.lockX
||
(this.drag.style.left
=
iLeft
+
"px");
event.preventDefault
event.preventDefault();
this.onMove()
},
stopDrag
:
function
()
{
this.removeHandler(document,
"mousemove",
this._moveDrag);
this.removeHandler(document,
"mouseup",
this._stopDrag);
this.handle.releaseCapture
this.handle.releaseCapture();
this.onStop()
},
//参数设置
setOptions
:
function
(options)
{
this.options
=
{
handle:
this.drag,
//事件对象
limit:
true,
//锁定范围
lock:
false,
//锁定位置
lockX:
false,
//锁定水平位置
lockY:
false,
//锁定垂直位置
maxContainer:
document.documentElement
||
document.body,
//指定限制容器
onStart:
function
()
{},
//开始时回调函数
onMove:
function
()
{},
//拖拽时回调函数
onStop:
function
()
{}
//停止时回调函数
};
for
(var
p
in
options)
this.options[p]
=
options[p]
},
//获取id
$
:
function
(id)
{
return
typeof
id
===
"string"
?
document.getElementById(id)
:
id
},
//添加绑定事件
addHandler
:
function
(oElement,
sEventType,
fnHandler)
{
return
oElement.addEventListener
?
oElement.addEventListener(sEventType,
fnHandler,
false)
:
oElement.attachEvent("on"
+
sEventType,
fnHandler)
},
//删除绑定事件
removeHandler
:
function
(oElement,
sEventType,
fnHandler)
{
return
oElement.removeEventListener
?
oElement.removeEventListener(sEventType,
fnHandler,
false)
:
oElement.detachEvent("on"
+
sEventType,
fnHandler)
},
//绑定事件到对象
bind
:
function
(object,
fnHandler)
{
return
function
()
{
return
fnHandler.apply(object,
arguments)
}
}
};
//应用
window.onload
=
function
()
{
var
oBox
=
document.getElementById("box");
var
oTitle
=
oBox.getElementsByTagName("h2")[0];
var
oSpan
=
document.getElementsByTagName("span")[0];
var
oDrag
=
new
Drag(oBox,
{handle:oTitle,
limit:false});
var
aInput
=
document.getElementsByTagName("input");
//锁定范围接口
aInput[0].onclick
=
function
()
{
oDrag.limit
=
!oDrag.limit;
this.value
=
oDrag.limit
?
"取消锁定范围"
:
"锁定范围"
};
//水平锁定接口
aInput[1].onclick
=
function
()
{
oDrag.lockX
=
!oDrag.lockX;
this.value
=
oDrag.lockX
?
"取消水平锁定"
:
"水平锁定"
};
//垂直锁定接口
aInput[2].onclick
=
function
()
{
oDrag.lockY
=
!oDrag.lockY;
this.value
=
oDrag.lockY
?
"取消垂直锁定"
:
"垂直锁定"
};
//锁定位置接口
aInput[3].onclick
=
function
()
{
oDrag.lock
=
!oDrag.lock;
this.value
=
oDrag.lock
?
"取消锁定位置"
:
"锁定位置"
};
//开始拖拽时方法
oDrag.onStart
=
function
()
{
oSpan.innerHTML
=
"开始拖拽"
};
//开始拖拽时方法
oDrag.onMove
=
function
()
{
oSpan.innerHTML
=
"left:"
+
this.drag.offsetLeft
+
",
top:"
+
this.drag.offsetTop
};
//开始拖拽时方法
oDrag.onStop
=
function
()
{
oSpan.innerHTML
=
"结束拖拽"
};
};
/script
/head
body
div
id="tool"
input
type="button"
value="锁定范围"
/
input
type="button"
value="水平锁定"
/
input
type="button"
value="垂直锁定"
/
input
type="button"
value="锁定位置"
/
/div
p拖放状态:span未开始/span/p
div
id="box"
h2
class="title"/h2
/div
/body
/html
希望本文所述对大家的JavaScript程序设计有所帮助。
JS for循环计算 经典例题 : 水仙花数
打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数 本身。
例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
首先,他是一个三位数,那么他的取值范围就是100~999。
那么。这个数 个十百位 每一位的数字的取值范围都有了。百位是1-9。十位个位都是0-9。
其次。每一位数字的立方 的和 要等于它本身。
那么就有了1 *100 + 5 * 10 +3 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 = 153。
用三重for循环可以计算出每一个百位数。然后 添加 if “其各位数字立方和等于该数本身”这个条件。就计算出满足条件的数了。
结果如下