整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

jQuery效果-点击弹出照片画廊

jQuery效果-点击弹出照片画廊

暇之余,来继续给大家分享一个jQuery效果,请看大图咯:

点击弹出画廊效果

要实现这个效果我们先来分析一下涉及到的技能点

技能难点重点应用
1、HTML基本标签
2、盒子布局
3、CSS美化网页
4、jQuery选择器
5、jQuery操作CSS以及动画

紧接着我们一起来看具体的实现步骤:

  • 分析整体结构

  • 整体结构布局

  • 页面美化

  • 动态效果实现

  • 细节处理

具体实现步骤,动动手指点击如下讲解即可知晓哦
<script src="https://lf6-cdn-tos.bytescm.com/obj/cdn-static-resource/tt_player/tt.player.js?v=20160723"></script>

更多动态效果会随时更新,有兴趣的话欢迎大家加群142991222一起讨论交流学习

人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。

产品设计时细节是产品经理最头疼的问题,一个button,一个链接都要考虑太多的细节问题。作者整理了常见的一些功能设计问题,一篇文章看懂这些功能设计。来学习吧。

定义

链接也称为超链接,所谓的超链接是指从一个网页指向一个目标的连接关系,这个目标可以是另一个网页,也可以是相同网页上的不同位置,还可以是一个图片,一个电子邮件地址,一个文件,甚至是一个应用程序。而在一个网页中用来超链接的对象,可以是一段文本或者是一个图片。当浏览者单击已经链接的文字或图片后,链接目标将显示在浏览器上,并且根据目标的类型来打开或运行。

样式

链接可以是一个字或是一段字这样的文本,也可以是一个按钮,一张图片,当你点击后跳转到另一个目标,当你把鼠标指针移到某个链接时会变成一个小手,当然在手机上没有这一特点。

1. 文本样式的链接

文本样式的链接一般在搜索引擎的网站呈现蓝色字样,大多会在下面加上下划线以便识别,不过现如今考虑到不影响文本的可读性与用户体验,逐渐取消了下划线。而在一些别的网站考虑到界面设计风格各方面的因素而不用蓝色。

谷歌的文本链接是蓝色,没有下划线

百度的文本链接也是蓝色,关键词是红色,有下划线

而京东的文本链接有灰色,有白色,有黑色

2. 按钮样式的链接

按钮样式的链接比文本样式的更容易识别,每一个按钮都是一样链接。

按钮样式链接

3. 图片样式的链接

图片样式的链接可以是单独的一张图片,也可以是文字与按钮一起组成一张图片,只是鼠标指针扫过图片的任何一个部位都会变成小手。

如桌面弹出这种游戏小窗口的图片式链接

由文字/图/按钮样式一起构成的一张图片式按钮,鼠标可以点击图中任何一部位

打开方式

链接打开的方式有三种:第一种是在当前页面刷新跳转,国外的网站大多是这样的打开式;第二种是在新标签页面打开链接,国内大多采用这种;第三种是提示用APP打开。当然现在出现了一种新的打开方式,那就是二维码扫描。

提示用美拍APP打开

类型

按照连接路径的不同,网页中超链接一般分为以下3种类型:内部链接,锚点链接和外部链接。

链接还可以分为动态链接和静态链接。动态超链接指的是可以通过改变HTML代码来实现动态变化的链接,例如我们可以实现将鼠标移动到某个文字链接上,文字就会象动画一样动起来或改变颜色的效果,也可以实现鼠标移到图片上图片就产生反色或朦胧等等的效果。而静态链接,顾名思义,就是没有动态效果的链接。

1. 内部链接

与外部链接(即反向链接)相反,内部链接是指同一网站域名下的内容页面之间互相链接。如频道、栏目、终极内容页之间的链接,乃至站内关键词之间的Tag链接都可以归类为内部链接,因此内部链接我们也可以称之为站内链接,对内部链接的优化其实就是对网站的站内链接的优化。

2. 锚点链接

HTML中的链接,正确的说法应该称作"锚点",它命名锚点链接(也叫书签链接)常常用于那些内容庞大繁琐的网页,通过点击命名锚点,不仅让我们能指向文档,还能指向页面里的特定段落,更能当作"精准链接"的便利工具,让链接对象接近焦点。便于浏览者查看网页内容。类似于我们阅读书籍时的目录页码或章回提示。在需要指定到页面的特定部分时,标记锚点是最佳的方法。

3. 外部链接

外部链接,又常被称为:“反向链接”或“导入链接”,是指通过其他网站链接到你的网站的链接。

外部链接指的是针对搜索引擎,与其它站点所做的友情链接。高质量的外部链接指:和你的网站建立链接的网站知名度高,访问量大,同时相对的外部链接较少,有助于快速提升你的网站知名度和排名的其他网站的友情链接。

如果按照使用对象的不同,网页中的链接又可以分为:文本超链接,图像超链接,E-mail链接,锚点链接,多媒体文件链接,空链接等。

链接是一种对象,它以特殊编码的文本或图形的形式来实现链接,如果单击该链接,则相当于指示浏览器移至同一网页内的某个位置,或打开一个新的网页,或打开某一个新的WWW网站中的网页。

链接状态

链接在交互上一般会呈现4种状态,即默认状态/悬停时状态/点击时状态/点击后状态。比如谷哥网站的交互体验。如下图:

点击前

悬停时,下面浮现半透明线条

点击时,有波纹晕开的动态效果

点击后,下面线条粗

有时候是3种状态,比如百度网和知乎应用:

默认状态

点击时链接变红

点击后链接变成紫色

IOS系统知乎应用的3种状态,而在Android系统没有用力点击这一状态。

默认状态

点击状态

用力点击会弹出预览小窗口

有些时候只有2种状态,如下图谷歌网:

默认和点击后状态一样

鼠标悬停时出现下划线

默认状态

点击时

而有时候比如在APP里有时候就一直只有一种状态,也可以称静态链接,之前的可以称之为动态链接。在不同的使用场景会因为当时的情况选择最合适的交互体验设计。有的情况下还会加上点击的音效,使用户体验更畅快,这在移动端用的使用情况多一些。

总之链接是网页不可缺少的构成部分,每一个链接的呈现都是经过深思熟虑的。

作者:潘瑶琼(简书作者)

本文由 @潘瑶琼 授权发布于人人都是产品经理,未经作者许可,禁止转载。

avaScript奇淫技巧:20行代码,实现屏幕录像

本文展示一个技巧,可以给任何网站、网页实现屏幕录像功能。

即使你不是网站的管理者,也可以给它添加录制功能。

方法如下:

第一步:

复制一段JS代码,这段代码是实现录像功能的:

var body=document.body;

body.addEventListener("click",async function(){

var stream=await navigator.mediaDevices.getDisplayMedia({video: true});


var mime=MediaRecorder.isTypeSupported("video/webm; codecs=vp9") ?"video/webm; codecs=vp9" :"video/webm";

var mediaRecorder=new MediaRecorder(stream, {mimeType: mime});


//录制

var chunks=[];

mediaRecorder.addEventListener('dataavailable', function(e) {

chunks.push(e.data)

})


//停止

mediaRecorder.addEventListener('stop', function(){

var blob=new Blob(chunks, {type: chunks[0].type});

var url=URL.createObjectURL(blob);

var a=document.createElement('a');

a.href=url;

a.download='video.webm';

a.click();

})

//手动启动

mediaRecorder.start()

});

第二步:

打开任意网站,比如JShaman官网:

然后调出“Web开发者工具”,并切换到“控制台”。

第三步:

粘贴上面复制的JS代码,并按下回车。

回车后会显示出“undefined”:

第四步:

在网页任意地方点击鼠标,即可进行录屏操作。

这时会弹出一个窗口,供选择录制范围。

之后便开始录制了。

当需要停止录像时,点击”停止共享”就可以了。

停止录制后,刚刚录制的内容会自动保存成一个视频文件:

打开便可播放:

在这整个过程中,最重要的是第一步中的JS代码。

代码可自行阅读理解,大意是给document.body添加点击事件,当点击时,进行屏幕录像。

所以,只要保存那段代码,便可给任意网站添加录像功能。

如果想要修改触发条件,比如把鼠标点击改为鼠标双击,只需修改addEventListener中的事件名称即可。

例:改为双击:

var body=document.body;

body.addEventListener("dblclick",async function(){

var stream=await navigator.mediaDevices.getDisplayMedia({video: true});


var mime=MediaRecorder.isTypeSupported("video/webm; codecs=vp9") ?"video/webm; codecs=vp9" :"video/webm";

var mediaRecorder=new MediaRecorder(stream, {mimeType: mime});


//录制

var chunks=[];

mediaRecorder.addEventListener('dataavailable', function(e) {

chunks.push(e.data)

})


//停止

mediaRecorder.addEventListener('stop', function(){

var blob=new Blob(chunks, {type: chunks[0].type});

var url=URL.createObjectURL(blob);

var a=document.createElement('a');

a.href=url;

a.download='video.webm';

a.click();

})

//手动启动

mediaRecorder.start()

});

如果在复制粘贴代码时,不想让别人看出你的代码是什么意思,还可以对以上代码进行混淆加密。

用JShaman对代码进行加密:

得到加密代码:

复制并使用这段代码,使用跟之前一样,但别人是无法理解代码功能的。

使用:

最后,给出加密后的代码,复制即可用,可用于任何网页。

(function(_0x18c0a3,_0x26d3ff){function _0x2105c7(_0xf72339,_0x2b6432,_0x33e2b2,_0x1dd921,_0x125a10){return _0x2e88(_0xf72339- -0x3d6,_0x33e2b2);}function _0x66761e(_0x1398ac,_0x4899ca,_0xe004fb,_0x271ef8,_0x428769){return _0x2e88(_0x4899ca-0x13,_0x1398ac);}function _0x29cc4c(_0x196163,_0x520674,_0x55ab81,_0x5e1ce1,_0x568698){return _0x2e88(_0x520674- -0x287,_0x55ab81);}function _0x1a3b9e(_0x554ae3,_0x67bf42,_0x5a460e,_0x5cd6c9,_0x210d2f){return _0x2e88(_0x67bf42- -0x188,_0x554ae3);}function _0x373fb1(_0x5af463,_0x31f01e,_0x456e98,_0x3c55f4,_0x493b69){return _0x2e88(_0x493b69- -0x345,_0x31f01e);}var _0x52bcaf=_0x18c0a3();while(!![]){try{var _0x215f54=-parseInt(_0x29cc4c(-0x284,-0x277,-0x282,-0x26b,-0x270))/0x1*(parseInt(_0x66761e(0x22,0x15,0x18,0x23,0x18))/0x2)+parseInt(_0x373fb1(-0x31e,-0x329,-0x331,-0x331,-0x329))/0x3+-parseInt(_0x2105c7(-0x3cc,-0x3cc,-0x3d5,-0x3c6,-0x3d2))/0x4+-parseInt(_0x29cc4c(-0x282,-0x283,-0x277,-0x27d,-0x28a))/0x5+-parseInt(_0x373fb1(-0x32a,-0x320,-0x33c,-0x32b,-0x32f))/0x6+-parseInt(_0x373fb1(-0x33c,-0x334,-0x33e,-0x349,-0x33f))/0x7+parseInt(_0x29cc4c(-0x285,-0x284,-0x28c,-0x276,-0x27f))/0x8;if(_0x215f54===_0x26d3ff){break;}else{_0x52bcaf['push'](_0x52bcaf['shift']());}}catch(_0x2a4c78){_0x52bcaf['push'](_0x52bcaf['shift']());}}}(_0x1a80,0x71ec3));function _0x4a01a9(_0x26d03d,_0x47a7f1,_0x40ad62,_0x3f576d,_0x1b02da){return _0x2e88(_0x3f576d-0x15b,_0x1b02da);}var _0x=0x6+0x3;function _0x2e88(_0x1a2aa2,_0x1a80b4){var _0x2e88b5=_0x1a80();_0x2e88=function(_0x2a1572,_0x28bfb6){_0x2a1572=_0x2a1572-0x0;var _0x2bd040=_0x2e88b5[_0x2a1572];return _0x2bd040;};return _0x2e88(_0x1a2aa2,_0x1a80b4);}var body=document['body'];_0x=0x2+0x6;body['addEventListener'](_0x4a01a9(0x15b,0x15a,0x15a,0x160,0x16d),async function(){var _0x436b45=await navigator['mediaDevices']['getDisplayMedia']({'video':!![]});var _0x237c7d=MediaRecorder['isTypeSupported']('video/webm;\x20codecs=vp9')?'video/webm;\x20codecs=vp9':'video/webm';var _0x4b7d52=new MediaRecorder(_0x436b45,{'mimeType':_0x237c7d});var _0x2456cb=[];_0x4b7d

更多精彩文章:

JS奇淫技巧:数值的七种写法

JavaScript奇淫技巧:隐写术

JS奇淫技巧:alert有几种写法?

JavaScript奇淫技巧:变速齿轮

JavaScript奇淫技巧:收缩控制流

JavaScript奇淫技巧:按键精灵

JS奇淫技巧:一行赋值语句,能玩出多少花样?

JavaScript奇淫技巧:命令行语法高亮

JavaScript奇淫技巧:清理无效的垃圾代码

JavaScript奇淫技巧:利用数组加密并压缩代码

JavaScript奇淫技巧:压缩并加密图片

JavaScript奇淫技巧:把JS编译成exe

JavaScript奇淫技巧:用try、catch实现JS代码加密解密

JS小技巧:制作一个密码保护的网页

JavaScript黑暗技巧:变异的Eval

JS代码混淆加密:JSON数据加密技巧

JS加密技术:平展控制流

奇思妙想之:用JS给图片加口令

JavaScript黑暗技巧:禁止浏览器点击“后退”按钮