#495
展开↯#496
作者:广西河池市宜州市
jQuery js 鼠标滚动 页面滚动背景模糊放大效果css3动画
$(window).scroll(function(e) {
var scrollSeviye = $(this).scrollTop();
if(scrollSeviye>2400){
scrollSeviye=2400;
}
var buyutme=(scrollSeviye/6000)+1;
$('.arkaplan').css('-webkit-filter', 'blur('+scrollSeviye/120+'px)');
$('.arkaplan').css('transform', 'scale('+buyutme+')');
});
Run code
Cut to clipboard
文章:常用html、demo代码 发表时间:2018-06-22, 11:35:35
#497
作者:广西
太多人觉得自己太忙了,多打一个字觉得会错过一个亿。如果我没理解错的话,这也是一种装逼的表现吧。 #,广西河池市宜州市,2018-06-22,09:24:12, 无能员工的一个特征:有好老板的公司进不去 #,广西河池市宜州市,2018-06-22,10:24:32, 要让一个人痛苦,最好的方法不是毁掉他本身,而是毁掉他喜欢的 #,广西河池市宜州市,2018-06-22,10:25:48, 建国以后不许……
文章:@意见反馈/技术支持/伊网/安企网 发表时间:2018-06-21, 13:13:47
#498
作者:广西河池市宜州市
交浅言深君子仰戒 #,广西河池市宜州市,2018-06-20,16:44:12, 演义里的周瑜只负责吐血 #,广西河池市宜州市,2018-06-20,17:44:55, 可怕的是习惯性迷茫,把迷茫过成了日常 #,广西河池市宜州市,2018-06-21,09:59:12,@2 , 越长大,越难以被恐怖片吓到了,唯一能让自己半夜惊醒的,就只有看不到希望的工作、遥不可及的梦想以及逐渐增大的年龄。 #,广西河池市宜州市,2018-06-21,10:08:36, 招联 13387547762 #,广西河池市宜州市,2018-06-21,10:22:56,@4 , 17604740851 #,广西河池市宜州市,2018-06-22,09:23:55, 但是车比我的好、房子比我的大、老婆比我的漂亮、孩子读的学校比我的好、吃的比我健康、旅游的地方比我的多、交的朋友比我的多、兴趣爱好比我广泛。
我叫但是。
我叫但是。
文章:@意见反馈/技术支持/伊网/安企网 发表时间:2018-06-20, 16:43:23
#499
作者:广西河池市宜州市
按钮3d立体阴影css
box-shadow: inset 0 0 5px #000000;
Run code
Cut to clipboard
文章:常用html、demo代码 发表时间:2018-06-21, 18:00:29
#500
作者:广西河池市宜州市
PHP判断文件是否为图片
<?php # Script -- isimg3.php
/* Author @ Huoty
* Date @ 2015-11-25 16:53:04
* Brief @
*/
$mimetype = exif_imagetype("1.jpg");
if ($mimetype == IMAGETYPE_GIF || $mimetype == IMAGETYPE_JPEG || $mimetype == IMAGETYPE_PNG || $mimetype == IMAGETYPE_BMP)
{
echo "是图片";
}
Run code
Cut to clipboard
IMAGETYPE_GIF
IMAGETYPE_JPEG
IMAGETYPE_PNG
IMAGETYPE_SWF
IMAGETYPE_PSD
IMAGETYPE_BMP
IMAGETYPE_TIFF_II(Intel 字节顺序)
IMAGETYPE_TIFF_MM(Motorola 字节顺序)
IMAGETYPE_JPC
IMAGETYPE_JP2
IMAGETYPE_JPX
IMAGETYPE_JB2
IMAGETYPE_SWC
IMAGETYPE_IFF
IMAGETYPE_WBMP
IMAGETYPE_XBM
Run code
Cut to clipboard
文章:模仿优酷首页的一些前端布局 发表时间:2018-06-21, 17:42:21
#501
作者:广西南宁市
swiper多个轮播图盒子
指示器分页器
js要写在css html后面 #,广西南宁市,2018-01-12,16:30:25,
统计加载点击代码
#,广西南宁市,2018-01-12,17:26:45,
上面代码是静态页面js错误的,下面是后台代码
#,广西南宁市,2018-01-17,12:54:52, #,广西河池市宜州市,2018-06-21,11:00:47,@2 ,
404错误页面
#,广西河池市宜州市,2018-06-21,11:18:38,@4 ,
兼容手机版移动设备404错误页面
#,广西河池市宜州市,2018-06-21,11:20:03,
#,广西河池市宜州市,2018-06-21,14:58:24,
IIS 7 以上 web.config 中设置全局的错误时,如果用编辑器,可能会提示“锁定冲突”,原因是全局的设置锁定了此项,不让修改。 解决方法如下:

<script>
var swiper = new Swiper('.swiper-container', {
slidesPerView: 3,
spaceBetween: 30,
pagination: {
el: '.swiper-pagination',
clickable: true,
},
});
</script>
Run code
Cut to clipboard
指示器分页器
<script>
var mySwipers = new Swiper('.swiper-container2', {
//autoplay: true,//可选选项,自动滑动
navigation: {
nextEl: '.you',
prevEl: '.zuo',
},
spaceBetween: 0,
slidesPerView: 3
})
</script>
Run code
Cut to clipboard
js要写在css html后面
统计加载点击代码
<script> /*异步加载 - 在线交流 - 站长统计 */
var gz_weburl='/';
var lang='cn';
var classnow='314';
var id='';
var url=gz_weburl+'include/interface/uidata.php?lang='+lang,h = 'http://www.ihosu.com/index.php/Home/About/index/cid/314.html';
if(h.indexOf("preview=1")!=-1)url = url + '&theme_preview=1';
$.ajax({
type: "POST",
url: url,
dataType:"json",
success: function(msg){
var c = msg.config;
if(c.gz_stat==1){ //站长统计
var navurl=classnow==10001?'':'../';
var stat_d=classnow+'-'+id+'-'+lang;
var url = gz_weburl+'include/stat/stat.php?type=para&u='+navurl+'&d='+stat_d;
$.getScript(url);
}
}
});
//var metClicks = $(".metClicks");//点击次数
var ClicksListnow='';
var weburl='/';
if(ClicksListnow){
//var DataClicks = metClicks.data("metclicks");
//ClicksStr=DataClicks.split("|");
var ClicksModule = 'news';//ClicksStr[0],ClicksListnow = ClicksStr[1];
var urlw = weburl+'include/hits.php?type='+ClicksModule+'&id='+ClicksListnow;
$.ajax({
type: "POST",
url: urlw,
dataType:"text",
success: function(msg){
//var t = msg.split('"');
//metClicks.html(t[1]);
}
});
}
</script>
Run code
Cut to clipboard
上面代码是静态页面js错误的,下面是后台代码
<script> /*异步加载 - 在线交流 - 站长统计 */
var gz_weburl='/';
var lang='cn';
var classnow='{$cid}';
var id='<?php echo $_GET['id'];?>';
var url=gz_weburl+'include/interface/uidata.php?lang='+lang,h = '<?php echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];?>';
if(h.indexOf("preview=1")!=-1)url = url + '&theme_preview=1';
$.ajax({
type: "POST",
url: url,
dataType:"json",
success: function(msg){
var c = msg.config;
if(c.gz_stat==1){ //站长统计
var navurl=classnow==10001?'':'../';
var stat_d=classnow+'-'+id+'-'+lang;
var url = gz_weburl+'include/stat/stat.php?type=para&u='+navurl+'&d='+stat_d;
$.getScript(url);
}
}
});
//var metClicks = $(".metClicks");//点击次数
var ClicksListnow='<?php echo $_GET['id'];?>';
var weburl='/';
if(ClicksListnow){
//var DataClicks = metClicks.data("metclicks");
//ClicksStr=DataClicks.split("|");
var ClicksModule = 'news';//ClicksStr[0],ClicksListnow = ClicksStr[1];
var urlw = weburl+'include/hits.php?type='+ClicksModule+'&id='+ClicksListnow;
$.ajax({
type: "POST",
url: urlw,
dataType:"text",
success: function(msg){
//var t = msg.split('"');
//metClicks.html(t[1]);
}
});
}
</script>
Run code
Cut to clipboard
pagination: {
el: '.swiper-pagination',
clickable: true,
}
Run code
Cut to clipboard
404错误页面
<!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>404-对不起!您访问的页面不存在</title>
<style type="text/css">
.head404{ width:580px; height:234px; margin:50px auto 0 auto; background:url(http://www.resonance.com.cn/head404.png) no-repeat; }
.txtbg404{ width:499px; height:169px; margin:10px auto 0 auto; background:url(http://www.resonance.com.cn/txtbg404.png) no-repeat;}
.txtbg404 .txtbox{ width:390px; position:relative; top:30px; left:60px;color:#eee; font-size:13px;}
.txtbg404 .txtbox p {margin:5px 0; line-height:18px;}
.txtbg404 .txtbox .paddingbox { padding-top:15px;}
.txtbg404 .txtbox p a { color:#eee; text-decoration:none;}
.txtbg404 .txtbox p a:hover { color:#FC9D1D; text-decoration:underline;}
</style>
</head>
<body bgcolor="#494949">
<div class="head404"></div>
<div class="txtbg404">
<div class="txtbox">
<p class="paddingbox">对不起,您请求的页面不存在、或已被删除、或暂时不可用</p>
<p>请点击以下链接继续浏览网页</p>
<p>》<a style="cursor:pointer" onclick="history.back()">返回上一页面</a></p>
<p>》<a href="/">返回网站首页</a></p>
</div>
</div>
</body>
</html>
Run code
Cut to clipboard
兼容手机版移动设备404错误页面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>/(ㄒoㄒ)/~~</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<style>*{padding:0;margin:0}a{text-decoration:none}.notfoud-container .img-404{height:155px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARUAAAEGCAYAAABLrAHXAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4BpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyMDBBQzI5ODU4NjNFMTExOENDN0E4Qzc0NTMzRDM1OSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozMzA0QkFCNEVFRkQxMUU0QkM0OUJCNTk4RTIyMEUyMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozMzA0QkFCM0VFRkQxMUU0QkM0OUJCNTk4RTIyMEUyMSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNCAoV2luZG93cykiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxNzFmOGFkMy00MzRlLTRkYmUtOTJkYi04ODY1ZTE0NmI3NDQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmMDY2OGM2MS0yOTZlLTExNzgtYmU3NS04ODg3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) center center no-repeat;-webkit-background-size:150px auto;margin-top:40px;margin-bottom:20px}.notfoud-container .notfound-p{line-height:22px;font-size:17px;padding-bottom:15px;border-bottom:1px solid #f6f6f6;text-align:center;color:#262b31}.notfoud-container .notfound-reason{color:#9ca4ac;font-size:13px;line-height:13px;text-align:left;width:210px;margin:0 auto}.notfoud-container .notfound-reason p{margin-top:13px}.notfoud-container .notfound-reason ul li{margin-top:10px;margin-left:36px}.notfoud-container .notfound-btn-container{margin:40px auto 0;text-align:center}.notfoud-container .notfound-btn-container .notfound-btn{display:inline-block;border:1px solid #ebedef;background-color:#239bf0;color:#fff;font-size:15px;border-radius:5px;text-align:center;padding:10px;line-height:16px;white-space:nowrap}</style>
</head>
<body>
<div class="notfoud-container">
<div class="img-404">
</div>
<p class="notfound-p">哎呀迷路了...</p>
<div class="notfound-reason">
<p>可能的原因:</p>
<ul>
<li>原来的页面不存在了</li>
<li>我们的服务器被外星人劫持了</li>
</ul>
</div>
<div class="notfound-btn-container">
<a class="notfound-btn" href="/">返回首页</a>
</div>
</div>
</body>
</html>
Run code
Cut to clipboard
<?php
$config = array(
'DEFAULT_THEME' => SHOUJIZHANOK
,'TMPL_EXCEPTION_FILE' => APP_PATH . '/Tpl/Home/'.SHOUJIZHANOK.'/Public/exception.html'
);
return $config ;
Run code
Cut to clipboard
\GZphp\Conf\Home
Run code
Cut to clipboard
$the_host = $_SERVER['HTTP_HOST'];//取得当前域名
if($the_host == SHOUJIZHANOKURL){
//手机
define('SHOUJIZHANOK', 'mDefault');
}else{
define('SHOUJIZHANOK', 'Default');
}
Run code
Cut to clipboard
IIS 7 以上 web.config 中设置全局的错误时,如果用编辑器,可能会提示“锁定冲突”,原因是全局的设置锁定了此项,不让修改。 解决方法如下:
文章:常用html、demo代码 发表时间:2018-01-12, 14:49:27
#502
作者:广西南宁市
文章:站时系扣,坐时解扣-西装礼仪 发表时间:2018-06-20, 22:18:50
#503
作者:广西河池市宜州市
<script type="text/javascript">
window.onload=function(){
var obox=document.getElementById("box");
var oshow=document.getElementById("show");
var nodes=obox.getElementsByTagName("*");
oshow.innerHTML=nodes.length;
}
</script>
Run code
Cut to clipboard
文章:模仿优酷首页的一些前端布局 发表时间:2018-06-20, 16:13:14
#504
作者:广西河池市宜州市
Jquery 兼容写法
jQuery event 事件对象,包含有 event.offsetX, event.clientX,event.pageX,event.screenX等属性(firefox 浏览器中, offsetX 为 undefined)。firefox 获取 offsetX / offsetY 的值,需要通过 event 对象的属性 originalEvent



jQuery event 事件对象,包含有 event.offsetX, event.clientX,event.pageX,event.screenX等属性(firefox 浏览器中, offsetX 为 undefined)。firefox 获取 offsetX / offsetY 的值,需要通过 event 对象的属性 originalEvent
$(function(){
$("#box").mousedown(function(event){
console.log(event.offsetX, event.offsetY);
console.log(event.clientX, event.clientY);
console.log(event.pageX, event.pageY);
console.log(event.screenX, event.screenY);
/* firefox */
console.log(event.originalEvent.layerX, event.originalEvent.layerY);
});
});
Run code
Cut to clipboard
文章:模仿优酷首页的一些前端布局 发表时间:2018-06-20, 16:12:18
#505
作者:广西河池市宜州市
var oZuolist = document.getElementsByClassName('zuo2');
for(var i=0;i<oZuolist.length;i++){
oZuolist[i].onmouseover=function(){
//注意涉及到这个对象不能使用oZuolist[i],要用this代替
}
}
Run code
Cut to clipboard
var oZuo = document.getElementsByClassName('zuo2'); 获取的是一个dom集合 而不是一个dom 对象,你无法对js的集合绑定事件
var oZuo = document.getElementsByClassName('zuo2')[0]; 就可以
Run code
Cut to clipboard
文章:模仿优酷首页的一些前端布局 发表时间:2018-06-20, 16:10:13
#506
作者:广西河池市宜州市
js取整数、取余数的方法
1.丢弃小数部分,保留整数部分
parseInt(5/2)
2.向上取整,有小数就整数部分加1
Math.ceil(5/2)
3,四舍五入.
Math.round(5/2)
4,向下取整
Math.floor(5/2)
Math 对象的方法
FF: Firefox, N: Netscape, IE: Internet Explorer
方法 描述 FF N IE
abs(x) 返回数的绝对值 1 2 3
acos(x) 返回数的反余弦值 1 2 3
asin(x) 返回数的反正弦值 1 2 3
atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值 1 2 3
atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间) 1 2 3
ceil(x) 对一个数进行上舍入。 1 2 3
cos(x) 返回数的余弦 1 2 3
exp(x) 返回 e 的指数。 1 2 3
floor(x) 对一个数进行下舍入。 1 2 3
log(x) 返回数的自然对数(底为e) 1 2 3
max(x,y) 返回 x 和 y 中的最高值 1 2 3
min(x,y) 返回 x 和 y 中的最低值 1 2 3
pow(x,y) 返回 x 的 y 次幂 1 2 3
random() 返回 0 ~ 1 之间的随机数 1 2 3
round(x) 把一个数四舍五入为最接近的整数 1 2 3
sin(x) 返回数的正弦 1 2 3
sqrt(x) 返回数的平方根 1 2 3
tan(x) 返回一个角的正切 1 2 3
toSource() 代表对象的源代码 1 4 -
valueOf() 返回一个 Math 对象的原始值
Run code
Cut to clipboard
文章:模仿优酷首页的一些前端布局 发表时间:2018-06-20, 16:08:28
#507
作者:广西河池市宜州市
jq和js用mousemove获取鼠标当前位置
#,广西河池市宜州市,2018-06-20,16:07:00,
javascript判断鼠标移动的方向(左,上,右,下)
核心是 Math.round( ( ( ( Math.atan2( y, x ) * ( 180 / Math.PI ) 返回四个值 #,广西河池市宜州市,2018-06-20,16:07:23,@1 ,
左右还可用正负值判断方向 #,广西河池市宜州市,2018-06-20,16:07:57,
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>jq获取鼠标的位置</title>
<style>
div{
width: 500px;
height: 500px;
background-color: #585858;
margin: 0;
padding: 0;
}
</style>
<script type="text/javascript" src="../../js/jquery-3.1.1.min.js"></script>
</head>
<body>
<div id="d">
</div>
</body>
<script type="text/javascript">
$('#d').mousemove(function(f){
/* var xx = f.originalEvent.x|| f.originalEvent.layerX||0;
var yy = f.originalEvent.y|| f.originalEvent.layerY||0;*/
var xx = f.pageX;
var yy = f.pageY;
$(this).text(xx+','+yy);
})
/*根据出现的“originalEvent”一词可猜测题主的本意是比较jquery下
e.pageX和e.originalEvent.x的区别(因为originalEvent是jq在对构造一个jq版e对象后引用的原始e对象)。
根据jq源码,jq版e对象下的pageX和原生的pageX是一致的,但是增加了对旧版本IE的实现部分。
于是题目可蜕化为原生e.pageX与e.x的区别,以及jq为IE8-浏览器实现的e.pageX与原生e.x的区别。
考虑jq的跨平台特性,我们在不清楚具体情况的时候,直接通过其补丁的实现方式来猜测属性的定义。
根据jq对无原生pageX的浏览器的补丁实现
event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 )
- ( doc && doc.clientLeft || body && body.clientLeft || 0 );
到这里我们已经基本清楚pageX的涵义,是包含了滚动条的计算的。
实际上,e.pageX在各(支持的)浏览器下的表现都是一致的,都是表达点击位置相对于整个文档的位置,用题主的话说就是“计算了滚动条”。
兼容性来说,e.pageX除了在IE系列中低于IE9的版本中是不支持的,IE9+和其它主流浏览器全部一致支持。
可是e.x的情况很复杂……
首先,fx不支持e.x。这没啥好说的。
其次,除IE外的其它主流浏览器,opera、chrome(以及其它同内核的浏览器),都支持e.x属性,
其值为“相对可视区域的坐标”——没错,对它们来说,e.x == e.clientX。用题主的话说就是“没有计算滚动条”。
再来看看e.x属性的发明者IE。IE全系列支持e.x
被点击对象所在的坐标系(即最近一个指定position: relative的tag的左上角的border外边界为原点)的坐标位置。
如果自身及上层均没有指定position: relative属性,则蜕变为相对于“相对可视区域的坐标”。
题外话,通过F12发现,IE一旦涉及滚动条后计算居然不是整像素数,而是会出现误差小数的!*/
</script>
</html>
<!--<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>javascript获得鼠标位置</title>
</head>
<body>
<script>
function mouseMove(ev)
{
Ev= ev || window.event;
var mousePos = mouseCoords(ev);
document.getElementById("xxx").value = mousePos.x;
document.getElementById("yyy").value = mousePos.y;
}
function mouseCoords(ev)
{
if(ev.pageX || ev.pageY){
return {x:ev.pageX, y:ev.pageY};
}
return{
x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
y:ev.clientY + document.body.scrollTop - document.body.clientTop
};
}
document.onmousemove = mouseMove;
</script>
鼠标X轴:
<input id=xxx type=text>
鼠标Y轴:
<input id=yyy type=text>
</body> -->
Run code
Cut to clipboard
javascript判断鼠标移动的方向(左,上,右,下)
function(wrap){
var wrap = document.getElementById(wrap);
var hoverDir = function(e){
var w = wrap.offsetWidth,
h = wrap.offsetHeight,
x = ( e.clientX - wrap.offsetLeft - ( w / 2 ) ) * ( w > h ? ( h / w ) : 1 ),
y = (e.clientY - wrap.offsetTop - (h / 2)) * (h > w ? (w / h) : 1),
// 上(0) 右(1) 下(2) 左(3)
direction = Math.round( ( ( ( Math.atan2( y, x ) * ( 180 / Math.PI ) ) + 180 ) / 90) + 3 ) % 4,
eventType = e.type,
dirName = new Array('上方','右侧','下方','左侧');
if( e.type == 'mouseover' || e.type == 'mouseenter' ){
wrap.innerHTML = dirName[direction] + '进入';
}else{
wrap.innerHTML = dirName[direction] + '离开';
}
}
if( window.addEventListener ){
wrap.addEventListener( 'mouseover',hoverDir,false );
wrap.addEventListener( 'mouseout',hoverDir,false );
}else if( window.attachEvent ){
wrap.attachEvent( 'onmouseenter',hoverDir );
wrap.attachEvent( 'onmouseleave',hoverDir );
}
}
Run code
Cut to clipboard
核心是 Math.round( ( ( ( Math.atan2( y, x ) * ( 180 / Math.PI ) 返回四个值
左右还可用正负值判断方向
n[0].onload = function() {
n.data("loaded", true);
r.on("mousemove",
function(e) {
if (!n.data("loaded")) return;
var t, r, i, o, l, c;
c = $(this).width();
if (a.width != c) {
u.widthCover = c;
u.heightCover = c / u.scale;
r = $(this).offset().left;
n.css({
width: 3 * u.widthCover + "px",
height: 3 * u.heightCover + "px"
});
a.width != c
}
t = Math.abs(e.pageX - r + 5);
f = t * 100 / u.widthCover;
f = f > 100 ? 100 : f;
s.css({
width: f + "%"
});
i = Math.floor(t * 7 / u.widthCover);
o = -1 * (i % 3) * u.widthCover;
l = -1 * Math.floor(i / 3) * u.heightCover;
if (a.left == o && a.top == l) {
return
} else {
a.left = o;
a.top = l
}
n.css({
left: o + "px",
top: l + "px"
})
});
r.show()
}
Run code
Cut to clipboard
文章:模仿优酷首页的一些前端布局 发表时间:2018-06-20, 16:05:28
#508
作者:广西河池市宜州市
con.style.backgroundPosition=x+"px "+y+"px";
可以兼容所有的浏览器,但要注意第一个“px ”中有一个空格
Run code
Cut to clipboard
直接获取
document.querySelectorAll("div.aa")
类似属性选择器的写法
document.querySelectorAll("div[class='aa']")
补充一下还可以not选择器
document.querySelectorAll(".aa:not(ul)")
Run code
Cut to clipboard
//将NodeList转换成Array
function transformList(list) {
var arr = [];
for(var i = 0; i < list.length; i++) {
arr.push(list[i]);
}
return arr;
}
//查找一个父节点下指定类名的子节点
function getParentdElement(parentNode, childName) {
//如果父节点parentNode含有指定类名childName,这个节点就是目标节点
if (parentNode.className.search(childName) !== -1) {
console.log("if------");
console.log(parentNode);
return parentNode;
} else {
//父节点不含有指定类名childName,递归查找它的子节点。
var nodes = parentNode.childNodes;
//将子节点的list转换成标准数组并且过滤掉Text元素
nodes = transformList(nodes).filter(function(item){
if(item.nodeType !== 3) {
return item;
} else{ }
});
//如果子节点数组中有值,则递归查找
if(nodes.length) {
nodes.forEach(function(item) {
getParentdElement(item, childName);
});
}
console.log("else------");
console.log(nodes);
}
}
console.log(getParentdElement(document.querySelector(".parent"), "right"))
Run code
Cut to clipboard
文章:模仿优酷首页的一些前端布局 发表时间:2018-06-20, 16:03:30
#510
作者:广西
https://m.baidu.com/sf_baijiahao/s?id=1590655925964277851&wfr=spider&for=pc #,广西河池市宜州市,2018-06-14,09:58:15,
平常场合:
如果穿单排一粒扣西装,扣与不扣均可((系上端庄,不系潇洒))

单排一粒扣西装
如果是单排两粒扣西装,扣子全部不扣表示随意、轻松;扣一面上粒,表示庄重,而全扣就不合适了
如果是单排三粒扣西装,扣子全部不扣表示随意、轻松;只扣中间一扣表示正统;扣上面两粒,表示庄重,全扣也是不对的

单排三粒扣西装
三粒扣的话
上面的叫sometimes (经常)
中间的叫always (总是)
下面的叫never (从不)
扣满三粒。。。那是没文化的代言词。。。
西服钮扣扣法的基本原则是:双排扣全扣,单排扣扣上不扣下;双排扣西服靠近领口的多为装饰扣,不必扣上;单排扣的西服基本遵循扣上不扣下的原则
依照目前国际西装着装礼仪,男士站时系扣,坐时解扣
站时系扣
男士在站立的时候,请养成把西装扣好的习惯。因为这样您在讲话、比手势的时候,西装才不会随着您的肢体乱跑,整体线条看起来更显干净利落:
如果西装只有一粒扣子,请直接扣好
单排两粒扣的西装,只扣上面那一颗扣子就行

单排两粒扣西装
如果是单排三粒扣的西装,可以只扣中间那一颗,也可以扣上面的第一颗与第二颗扣子
如果是双排扣西装,可全部扣,亦可只扣上面一粒,表示轻松 、时髦,但不可不扣((双排扣西装的设计风格偏于稳重,纽扣的系法也相对保守))
如果穿三件套西装,则应扣好马甲上所有的扣子,外套的扣子不扣

三件套西装
按照约定俗成的习惯,最下面的那粒是不扣上的,除非去礼拜或者上法庭这样极其严肃的场合

双排扣西装
坐时解扣
一般来讲,若男士的西装太合身,当他没有解开西装扣就坐下时,整件西装外套就会被撑向两旁,不仅会在腹部出现横向紧绷的皱折,也会令肢体无法自由伸展,动作显得局促和紧张:
依照目前国际西装着装礼仪,男士坐下时,必须解开西装扣,如此西装才能随着身体的弧度,自然服贴地顺势而下,线条看起来比较流畅,也不会有束缚的感觉,也才能舒适自在地坐在位子上。
当然,西服上有扣与不扣讲究的纽扣并非只是前襟上的几粒。别忘了西服袖口还各有四粒纽扣呢,部分西服这四粒纽扣是直接钉上去的假纽扣,但是真正上佳的定制西服,最前端的两粒纽扣是真的,是可以解开的

西装是男士经常穿着的服装,所以,除了要注意不同款式扣子的扣法外,还应该注意搭配,如身上的颜色不能超过三种颜色或三种色系,在出席正式场合的时候,袜子也很讲究,不能穿尼龙丝袜和白色的袜子
建议:
各位男士,平时可多做西装解扣和系扣的练习:无论解扣或系扣,都不能低头看着西装,要以非常流畅、自然的手势来进行;并请记得“由下往上”依序解扣,而系扣时则要由“由上往下”依序扣起!
注意:
西装钮扣有装饰功能,扣法大有讲究。双排西装钮扣在任何正式场合都应扣上,否则给人以轻浮不稳重之感。单排扣西装如有两粒扣子,扣顶端一颗;3粒扣的,扣顶端前两颗。当然,单排西服也可以不扣,衣襟敞开,也能给人以轻松、潇洒之感
平常场合:
如果穿单排一粒扣西装,扣与不扣均可((系上端庄,不系潇洒))
单排一粒扣西装
如果是单排两粒扣西装,扣子全部不扣表示随意、轻松;扣一面上粒,表示庄重,而全扣就不合适了
如果是单排三粒扣西装,扣子全部不扣表示随意、轻松;只扣中间一扣表示正统;扣上面两粒,表示庄重,全扣也是不对的
单排三粒扣西装
三粒扣的话
上面的叫sometimes (经常)
中间的叫always (总是)
下面的叫never (从不)
扣满三粒。。。那是没文化的代言词。。。
西服钮扣扣法的基本原则是:双排扣全扣,单排扣扣上不扣下;双排扣西服靠近领口的多为装饰扣,不必扣上;单排扣的西服基本遵循扣上不扣下的原则
依照目前国际西装着装礼仪,男士站时系扣,坐时解扣
站时系扣
男士在站立的时候,请养成把西装扣好的习惯。因为这样您在讲话、比手势的时候,西装才不会随着您的肢体乱跑,整体线条看起来更显干净利落:
如果西装只有一粒扣子,请直接扣好
单排两粒扣的西装,只扣上面那一颗扣子就行
单排两粒扣西装
如果是单排三粒扣的西装,可以只扣中间那一颗,也可以扣上面的第一颗与第二颗扣子
如果是双排扣西装,可全部扣,亦可只扣上面一粒,表示轻松 、时髦,但不可不扣((双排扣西装的设计风格偏于稳重,纽扣的系法也相对保守))
如果穿三件套西装,则应扣好马甲上所有的扣子,外套的扣子不扣
三件套西装
按照约定俗成的习惯,最下面的那粒是不扣上的,除非去礼拜或者上法庭这样极其严肃的场合
双排扣西装
坐时解扣
一般来讲,若男士的西装太合身,当他没有解开西装扣就坐下时,整件西装外套就会被撑向两旁,不仅会在腹部出现横向紧绷的皱折,也会令肢体无法自由伸展,动作显得局促和紧张:
依照目前国际西装着装礼仪,男士坐下时,必须解开西装扣,如此西装才能随着身体的弧度,自然服贴地顺势而下,线条看起来比较流畅,也不会有束缚的感觉,也才能舒适自在地坐在位子上。
当然,西服上有扣与不扣讲究的纽扣并非只是前襟上的几粒。别忘了西服袖口还各有四粒纽扣呢,部分西服这四粒纽扣是直接钉上去的假纽扣,但是真正上佳的定制西服,最前端的两粒纽扣是真的,是可以解开的
西装是男士经常穿着的服装,所以,除了要注意不同款式扣子的扣法外,还应该注意搭配,如身上的颜色不能超过三种颜色或三种色系,在出席正式场合的时候,袜子也很讲究,不能穿尼龙丝袜和白色的袜子
建议:
各位男士,平时可多做西装解扣和系扣的练习:无论解扣或系扣,都不能低头看着西装,要以非常流畅、自然的手势来进行;并请记得“由下往上”依序解扣,而系扣时则要由“由上往下”依序扣起!
注意:
西装钮扣有装饰功能,扣法大有讲究。双排西装钮扣在任何正式场合都应扣上,否则给人以轻浮不稳重之感。单排扣西装如有两粒扣子,扣顶端一颗;3粒扣的,扣顶端前两颗。当然,单排西服也可以不扣,衣襟敞开,也能给人以轻松、潇洒之感
文章:站时系扣,坐时解扣-西装礼仪 发表时间:2018-06-14, 09:52:35
#511
作者:广西河池市宜州市
mysql数值字符串类型的按照数值进行排序
order by 字段名称+0 desc/asc的形式进行排序(亲测有效)
Run code
Cut to clipboard
order by 字段名称*1 desc/asc的形式进行排序( 没有进行测试 )
Run code
Cut to clipboard
文章:常用代码2 发表时间:2018-06-13, 10:45:53
#512
作者:广西河池市宜州市
js设置鼠标悬停改变背景色
$(function(){
var sign=document.getElementById("sign");
changBkColor(sign);
});
function changBkColor(obj){
obj.onmouseover=function(){ this.className="over"; };//鼠标悬停事件
obj.onmouseout=function(){ this.className="out"; };//鼠标离开事件
obj.onmousedown=function(){this.className="down";};//鼠标点击时触发事件
}
Run code
Cut to clipboard
/* $(obj).hover(inFunction,outFunction)
* 等同于$(obj).mouseover().mouseout();
*/
$(function(){
$('#sign').hover(function() {
$('#sign').addClass('over');
}, function() {
$('#sign').removeClass('over').addClass('out');
});
});
Run code
Cut to clipboard
文章:常用代码2 发表时间:2018-06-13, 10:44:30
#513
作者:广西河池市宜州市
解决“你没有权限访问,请与网络管理员联系”
找到你要共享的文件夹,选中并且右键,选中属性,选择安全选项卡
点击安全选项卡下面的编辑,弹出编辑选项卡
在组或用户名下面,点击添加,弹出选中用户和组选项卡
点击左下角的高级,弹出新的选项卡
点击立即查找,在下面的搜索结果中选择everyone
点击确定,在输入对象名称下面出现了everyone
点击确定,在组合用户名下面出现了everyone,在everyone的权限中选择你允许的权限,如读取,改写,读取和写入等,一般可以选择完全控制。然后点击确定
最后可以查看在安全选项卡下面的组合用户名中已经有了everyone
下面就是设置共享了,点击共享选项卡,点击高级共享
勾选共享此文件夹复选框
点击权限,选择everyone,并设置你的权限 #,广西河池市宜州市,2018-06-13,10:38:12, #,广西河池市宜州市,2018-06-13,10:39:19,
安装完成后,具体信息如下:
连接方式:L2TP
VPN用户名:test
VPN密码:test123
密钥:fuck_great_firewall
找到你要共享的文件夹,选中并且右键,选中属性,选择安全选项卡
点击安全选项卡下面的编辑,弹出编辑选项卡
在组或用户名下面,点击添加,弹出选中用户和组选项卡
点击左下角的高级,弹出新的选项卡
点击立即查找,在下面的搜索结果中选择everyone
点击确定,在输入对象名称下面出现了everyone
点击确定,在组合用户名下面出现了everyone,在everyone的权限中选择你允许的权限,如读取,改写,读取和写入等,一般可以选择完全控制。然后点击确定
最后可以查看在安全选项卡下面的组合用户名中已经有了everyone
下面就是设置共享了,点击共享选项卡,点击高级共享
勾选共享此文件夹复选框
点击权限,选择everyone,并设置你的权限
之前嘗試過 PPTP 和 OpenVPN ,但 PPTP 太弱,而 OpenVPN 太依賴第三方軟體,因此想說來試試看 L2TP/IPsec
架設的軟體使用 epel 上的 strongSwan 和 xl2tpd ,不用 openSwan 是因 OSX 在連線的時候會遇到伺服器端錯誤,據說是 openSwan 本身的問題
安裝前先把必要套件補完
yum install strongswan xl2tpd
strongSwan 裝完之後可以在 /etc/strongswan 設定,裏頭的 strongswan.conf 沒特別設定不需要去動,預設是所有 plugin 都載入
在這之前,記得先調整 kernel 和 iptables
sed -i 's/net.ipv4.ip_forward[ ]*=[ ]*0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf && sysctl -p # 啟動 ip_forward
# 防火牆規則僅供參考
iptables -A INPUT -p udp --dport 500 -j ACCEPT # IKE
iptables -A INPUT -p udp --dport 4500 -j ACCEPT # NAT-T
iptables -A INPUT -p udp -m policy --dir in --pol ipsec -m udp --dport 1701 -j ACCEPT # 強制 l2tp 透過 ipsec 存取
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth0 -j MASQUERADE # 轉送 VPN 流量
/etc/init.d/iptables save
接著開始設定 IPsec 連線部分,我這邊使用 PSK ,其他驗證方法可以上官網文件查
/etc/strongswan/ipsec.conf
config setup
conn %default
ikelifetime=60m
keylife=20m
rekeymargin=3m
keyingtries=1
conn l2tp
keyexchange=ikev1 # IKE 版本
left=>>>>{對外 IP}<<<<<<
leftsubnet=0.0.0.0/0
leftprotoport=17/1701 # l2tp udp 流量
authby=secret # PSK 驗證
leftfirewall=no # 不要讓 strongswan 更改防火牆
right=%any # 任意 IP
rightprotoport=17/%any # 任意 port udp 流量
type=transport # ipsec transport mode
auto=add
/etc/strongswan/ipsec.secrets
# ipsec.secrets - strongSwan IPsec secrets file
: PSK "A long preshared key for ipsec"
IPsec 這邊設定和網路上的不一樣是因為新的 strongswan 使用 charon 來處理 IKEv1 ,而不是以往的 pluto
而且有時候設定太多反而會有一些奇怪的錯誤,於是就留預設值
如此一來 IPsec 的部分就完成了,再來是 L2TP
/etc/xl2tpd/xl2tpd.conf
[global]
listen-addr = >>>>{對外 IP}<<<<
[lns default]
ip range = 172.16.1.100-172.16.1.200; VPN 使用者配發的 IP 段
local ip = 172.16.1.1; VPN Server 本身的聯絡 IP
assign ip = yes
;refuse chap = yes
;refuse pap = yes <<<我個人覺得有 ipsec 使用 pap 沒關係,而且某些情況下(例如 pam),必須使用
require authentication = yes
unix authentication = yes; 使用 pam 驗證,用密碼檔記得刪掉這行
name = NyanVPNServer; 這個名字等一下會用到,可以任意取名
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
如果上面的 xl2tpd.conf 使用了 pam 驗證,要修改下面這個
/etc/pam.d/ppp
#%PAM-1.0
auth required pam_nologin.so
auth required pam_unix.so
account required pam_unix.so
session required pam_unix.so
PPP 的部分
/etc/ppp/options.xl2tpd
ipcp-accept-local
ipcp-accept-remote
ms-dns 8.8.8.8 # 推送的 DNS 資訊
ms-dns 8.8.4.4
# ms-dns 192.168.1.1
# ms-dns 192.168.1.3
# ms-wins 192.168.1.2
# ms-wins 192.168.1.4
noccp
auth
crtscts
idle 1800
#mtu 1410
#mru 1410
mtu 1200 # 我也不知道 mtu/mru 怎麼設,不過這個會動
mru 1200
nodefaultroute
debug
lock
proxyarp
connect-delay 5000
login # 透過 PAP 使用系統密碼驗證,這也是為什麼前面不能拒絕 PAP 的原因
#require-mschap-v2 強迫使用 MS-CHAP-V2
最後是連線密碼, CHAP 和 PAP 的密碼檔是分開的,依照前面設定的內容和使用者的選擇而定
/etc/ppp/*-secrets
# Secrets for authentication using PAP
# client(帳號) server(前面提到的 name) secret(密碼) IP addresses(配發的 IP)
alice NyanVPNServer "AliceIsCute" *
# 下面這個是 PAM 的用法
* NyanVPNServer "" *
設定就到這邊為止,接著就可以啟動 VPN 了
service strongswan start
service xl2tpd start
成功連上 VPN 之後,如果無法連外,檢查看看 iptables 的 FORWARD chain 是不是有阻擋連線的行為
Run code
Cut to clipboard
rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum -y update
yum -y install strongswan
yum -y install xl2tpd
sed -i 's/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf
sysctl -p
iptables -A INPUT -p udp --dport 500 -j ACCEPT # IKE
iptables -A INPUT -p udp --dport 4500 -j ACCEPT # NAT-T
iptables -A INPUT -p udp -m policy --dir in --pol ipsec -m udp --dport 1701 -j ACCEPT # 強制l2tp透過ipsec存取
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
ip_addr=` ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' |cut -d: -f2 | awk '{ print $1}'`
echo "conn %default
ikelifetime=24h
keylife=24h
rekeymargin=30m
keyingtries=1
rekey=no
conn l2tp
keyexchange=ikev1 # IKE版本
left=$ip_addr
leftsubnet=0.0.0.0/0
leftprotoport=17/1701 # l2tp udp流量
authby=secret # PSK驗證
leftfirewall=no # 不要讓strongswan更改防火牆
right=%any # 任意IP
rightprotoport=17/%any # 任意port udp流量
type=transport # ipsec transport mode
auto=add">>/etc/strongswan/ipsec.conf
echo ': PSK "fuck_great_firewall"'>>/etc/strongswan/ipsec.secrets
sed 's/\[global\].*$/&\nlisten-addr ='$ip_addr'/g' /etc/xl2tpd/xl2tpd.conf
sed -i 's/^mtu.*/mtu 1200/g' /etc/ppp/options.xl2tpd
sed -i 's/^mru.*/mru 1200/g' /etc/ppp/options.xl2tpd
echo 'login'>>/etc/ppp/options.xl2tpd
echo 'test * test123 *'>>/etc/ppp/chap-secrets
service strongswan start
service xl2tpd start
chkconfig strongswan on
chkconfig xl2tpd on
Run code
Cut to clipboard
安装完成后,具体信息如下:
连接方式:L2TP
VPN用户名:test
VPN密码:test123
密钥:fuck_great_firewall
文章:三步实现免费PHP空间搭建GoAgent翻墙 发表时间:2018-06-12, 17:58:56
Face reality as it is, not as it was or as you wish it to be.
being a lawyer is like being a doctor, you keep pressing until it hurts, then you know where to look
Sometimes good is not good enough
Harvey we play games, something we win, somtimes we lose
You keep pressing until it hurts. Then you know where to look.