jquery技巧掌握,必须要掌握的拍照技巧

2019-09-20 作者:首页   |   浏览(83)

我们的下期话题:

emmmm小影还没有想好

图片 1

观众老爷们有什么想讨论的话题,或者有拍照小技巧想要补充,欢迎大家留言!

注:本文所有图片来自于网络,如有侵权请联系

图片 2返回搜狐,查看更多

责任编辑:

Jquery技巧(必须掌握),jquery技巧掌握

 检查 jQuery 是否加载

在使用 jQuery 进行任何操作之前,你需要先确认它已经加载:

if (typeof jQuery == 'undefined') {
console.log('jQuery hasn't loaded');
} else {
console.log('jQuery has loaded');
}

返回顶部按钮

利用 jQuery 中的 animate 和 scrollTop 方法,你无需插件就可以创建简单的 scroll up 效果:

// 返回顶部
$('a.top').click(function (e) {
e.preventDefault();
$(document.body).animate({scrollTop: 0}, 800);
});
<!-- 设置锚 -->
<a class="top" href="#">Back to top</a>

调整 scrollTop 的值即可改变滚动着陆位置。你实际所做的是在 800 毫秒内不断设置文档主体的位置,直到它滚动到顶部。

预加载图片

如果你的网页使用了大量并非立即可见的图片(例如悬停鼠标触发的图片),那么预加载这些图片就显得很有意义了:

$.preloadImages = function () {
for (var i = 0; i < arguments.length; i++) {
$('<img>').attr('src', arguments[i]);
}
};

$.preloadImages('img/hover-on.png', 'img/hover-off.png');

判断图片是否加载完成

在有些情况下,为了继续执行脚本,你需要检查图片是否已经完全加载:

$('img').load(function () {
console.log('image load successful');
});

同样,换用一个带有 id 或者 class 属性的 <img> 标签,你也可以检查特定图片是否加载完成。

自动修复失效图片

如果你在你的网站上发现了失效的图片链接,逐个去替换它们将会是个苦差。这段简单的代码可以很大程度地减轻痛苦:

$('img').on('error', function () {
if(!$(this).hasClass('broken-image')) {
$(this).prop('src', 'img/broken.png').addClass('broken-image');
}
});

即使你暂无任何失效的链接,添加这段代码也不会有任何损失。

鼠标悬停切换 class

如果你希望在用户将鼠标悬停在某个可点击元素上时改变它的视觉效果,你可以在该元素被悬停时给它添加一个 class,当鼠标不再悬停时,移除这个 class:

$('.btn').hover(function () {
$(this).addClass('hover');
}, function () {
$(this).removeClass('hover');
});

如果你还寻求更简单的途径,可以使用 toggleClass 方法,仅需添加必要的 CSS:

$('.btn').hover(function () {
$(this).toggleClass('hover');
});

注:在这种情况下,使用 CSS 或许是一个更快速的解决方案,但这种方法仍然值得稍作了解。

禁用输入字段

有时,你可能希望在用户完成特定操作(例如,勾选“我已阅读条例”的确认框)前禁用表单的提交按钮或禁用其中某个输入框。你可以在你的输入字段上添加disabled 属性,而后你能在需要时启用它:

$('input[type="submit"]').prop('disabled', true);

你只需在输入字段上再次运行 prop 方法, 但是这一次把 disabled 值改为 false:

$('input[type="submit"]').prop('disabled', false);

阻止链接加载

有时你不希望链接到指定页面或者重载当前页面,而是想让它们干些别的,例如触发其它脚本。这需要在阻止默认动作上做些文章:

$('a.no-link').click(function (e) {
e.preventDefault();
});

缓存 jQuery 选择器

想想你在项目中一次又一次地写了多少相同的选择器吧。每个 $('.element') 都必须查询一次整个 DOM,不管它是否曾这样执行过。作为代替,我们只运行一次选择器,并把结果储存在一个变量中:

var blocks = $('#blocks').find('li');

现在你能在任何地方使用 blocks 变量而无需每次查询 DOM 了:

$('#hideBlocks').click(function () {
blocks.fadeOut();
});
$('#showBlocks').click(function () {
blocks.fadeIn();
});

缓存 jQuery 的选择器是种简单的性能提升。

切换淡出 / 滑动

淡出和滑动都是我们在 jQuery 中大量使用的效果。你可能只想在用户点击后展现某个元素,此时用 fadeIn 和 slideDown 方法就很完美。但是如果你希望这个元素在首次点击时出现,在再次点击时消失,这段代码就很有用了:

// 淡出
$('.btn').click(function () {
$('.element').fadeToggle('slow');
});

// 切换
$('.btn').click(function () {
$('.element').slideToggle('slow');
});

简单的手风琴效果

这是一个快速实现手风琴效果的简单方法:

// 关闭所有面板
$('#accordion').find('.content').hide();

// 手风琴效果
$('#accordion').find('.accordion-header').click(function () {
var next = $(this).next();
next.slideToggle('fast');
$('.content').not(next).slideUp('fast');
return false;
});

通过添加这段脚本,你实际要做的只是提供必要的 HTML 元素以便它正常运行。

使两个 div 等高

有时你希望无论两个 div 各自包含什么内容,它们总有相同的高度:

$('.div').css('min-height', $('.main-div').height());

这个例子设置了 min-height,意味着高度可以大于主 div 而不能小于它。然而,更灵活的方法是遍历一组元素,然后将高度设置为最高元素的高度:

var $columns = $('.column');
var height = 0;
$columns.each(function () {
if ($(this).height() > height) {
height = $(this).height();
}
});
$columns.height(height);

如果你希望所有列高度相同:

var $rows = $('.same-height-columns');
$rows.each(function () {
$(this).find('.column').height($(this).height());
});

在新标签页 / 新窗口打开外部链接

在一个新的浏览器标签页或窗口中打开外部链接,并确保相同来源的链接在同一个标签页或者窗口中打开:

$('a[href^="http"]').attr('target', '_blank');
$('a[href^="//"]').attr('target', '_blank');
$('a[href^="' + window.location.origin + '"]').attr('target', '_self');

注: window.location.origin 在 IE10 中不可用. 这个修复方案 正是关注于该问题。

通过文本查找元素

通过使用 jQuery 的 contains() 选择器,你能够查找元素内容中的文本。若文本不存在,该元素将被隐藏:

var search = $('#search').val();
$('div:not(:contains("' + search + '"))').hide();

在 visibility 属性变化时触发

当用户的焦点离开或者重新回到某个标签页时,触发 Javasrcipt:

$(document).on('visibilitychange', function (e) {
if (e.target.visibilityState === "visible") {
console.log('Tab is now in view!');
} else if (e.target.visibilityState === "hidden") {
console.log('Tab is now hidden!');
}
});

Ajax 调用错误处理

当一个 Ajax 调用返回 404 或 500 错误时,错误处理程序将被执行。若错误处理未被定义,其它 jQuery 代码可能不再有效。所以定义一个全局的 Ajax 错误处理:

$(document).ajaxError(function (e, xhr, settings, error) {
console.log(error);
});

链式插件调用

jQuery 允许通过“链式”插件调用的方法,来缓解反复查询 DOM 和创建多个 jQuery 对象的过程。例如,下面的代码代表着你的插件调用:

$('#elem').show();
$('#elem').html('bla');
$('#elem').otherStuff();

通过使用链式操作,有了显著的改善:

$('#elem')
.show()
.html('bla')
.otherStuff();

另一种方法是在变量(以 $ 为前缀)中,对元素进行缓存:

var $elem = $('#elem');
$elem.hide();
$elem.html('bla');
$elem.otherStuff();

无论是链式操作,还是缓存元素,都是 jQuery 中用以简化和优化代码的最佳实践。

这里收集了一些简单的窍门,助你玩转 jQuery。

检查 jQuery 是否加载

在使用 jQuery 进行任何操作之前,你需要先确认它已经加载:

if (typeof jQuery == 'undefined') {
console.log('jQuery hasn't loaded');
} else {
console.log('jQuery has loaded');
}

返回顶部按钮

利用 jQuery 中的 animate 和 scrollTop 方法,你无需插件就可以创建简单的 scroll up 效果:

// 返回顶部
$('a.top').click(function (e) {
e.preventDefault();
$(document.body).animate({scrollTop: 0}, 800);
});
<!-- 设置锚 -->
<a class="top" href="#">Back to top</a>

调整 scrollTop 的值即可改变滚动着陆位置。你实际所做的是在 800 毫秒内不断设置文档主体的位置,直到它滚动到顶部。

预加载图片

如果你的网页使用了大量并非立即可见的图片(例如悬停鼠标触发的图片),那么预加载这些图片就显得很有意义了:

$.preloadImages = function () {
for (var i = 0; i < arguments.length; i++) {
$('<img>').attr('src', arguments[i]);
}
};
$.preloadImages('img/hover-on.png', 'img/hover-off.png');

判断图片是否加载完成

在有些情况下,为了继续执行脚本,你需要检查图片是否已经完全加载:

$('img').load(function () {
console.log('image load successful');
});

同样,换用一个带有 id 或者 class 属性的 <img> 标签,你也可以检查特定图片是否加载完成。

自动修复失效图片

如果你在你的网站上发现了失效的图片链接,逐个去替换它们将会是个苦差。这段简单的代码可以很大程度地减轻痛苦:

$('img').on('error', function () {
if(!$(this).hasClass('broken-image')) {
$(this).prop('src', 'img/broken.png').addClass('broken-image');
}
});

即使你暂无任何失效的链接,添加这段代码也不会有任何损失。

鼠标悬停切换 class

如果你希望在用户将鼠标悬停在某个可点击元素上时改变它的视觉效果,你可以在该元素被悬停时给它添加一个 class,当鼠标不再悬停时,移除这个 class:

$('.btn').hover(function () {
$(this).addClass('hover');
}, function () {
$(this).removeClass('hover');
});

如果你还寻求更简单的途径,可以使用 toggleClass 方法,仅需添加必要的 CSS:

$('.btn').hover(function () {
$(this).toggleClass('hover');
});

注:在这种情况下,使用 CSS 或许是一个更快速的解决方案,但这种方法仍然值得稍作了解。

禁用输入字段

有时,你可能希望在用户完成特定操作(例如,勾选“我已阅读条例”的确认框)前禁用表单的提交按钮或禁用其中某个输入框。你可以在你的输入字段上添加disabled 属性,而后你能在需要时启用它:

$('input[type="submit"]').prop('disabled', true);

你只需在输入字段上再次运行 prop 方法, 但是这一次把 disabled 值改为 false:

$('input[type="submit"]').prop('disabled', false);

阻止链接加载

有时你不希望链接到指定页面或者重载当前页面,而是想让它们干些别的,例如触发其它脚本。这需要在阻止默认动作上做些文章:

$('a.no-link').click(function (e) {
e.preventDefault();
});

缓存 jQuery 选择器

想想你在项目中一次又一次地写了多少相同的选择器吧。每个 $('.element') 都必须查询一次整个 DOM,不管它是否曾这样执行过。作为代替,我们只运行一次选择器,并把结果储存在一个变量中:

var blocks = $('#blocks').find('li');

现在你能在任何地方使用 blocks 变量而无需每次查询 DOM 了:

$('#hideBlocks').click(function () {
blocks.fadeOut();
});
$('#showBlocks').click(function () {
blocks.fadeIn();
});

缓存 jQuery 的选择器是种简单的性能提升。

切换淡出 / 滑动

淡出和滑动都是我们在 jQuery 中大量使用的效果。你可能只想在用户点击后展现某个元素,此时用 fadeIn 和 slideDown 方法就很完美。但是如果你希望这个元素在首次点击时出现,再次点击时消失,这段代码就很有用了:

// 淡出
$('.btn').click(function () {
$('.element').fadeToggle('slow');
});

// 切换
$('.btn').click(function () {
$('.element').slideToggle('slow');
});

简单的手风琴效果

这是一个快速实现手风琴效果的简单方法:

// 关闭所有面板
$('#accordion').find('.content').hide();
// 手风琴效果
$('#accordion').find('.accordion-header').click(function () {
var next = $(this).next();
next.slideToggle('fast');
$('.content').not(next).slideUp('fast');
return false;
});

通过添加这段脚本,你实际要做的只是提供必要的 HTML 元素以便它正常运行。

使两个 div 等高

有时你希望无论两个 div 各自包含什么内容,它们总有相同的高度:

$('.div').css('min-height', $('.main-div').height());

这个例子设置了 min-height,意味着高度可以大于主 div 而不能小于它。然而,更灵活的方法是遍历一组元素,然后将高度设置为最高元素的高度:

var $columns = $('.column');
var height = 0;
$columns.each(function () {
if ($(this).height() > height) {
height = $(this).height();
}
});
$columns.height(height);

如果你希望所有列高度相同:

var $rows = $('.same-height-columns');
$rows.each(function () {
$(this).find('.column').height($(this).height());
});

在新标签页 / 新窗口打开外部链接

在一个新的浏览器标签页或窗口中打开外部链接,并确保相同来源的链接在同一个标签页或者窗口中打开:

$('a[href^="http"]').attr('target', '_blank');
$('a[href^="//"]').attr('target', '_blank');
$('a[href^="' + window.location.origin + '"]').attr('target', '_self');

注: window.location.origin 在 IE10 中不可用. 这个修复方案 正是关注于该问题。

通过文本查找元素

通过使用 jQuery 的 contains() 选择器,你能够查找元素内容中的文本。若文本不存在,该元素将被隐藏:

var search = $('#search').val();
$('div:not(:contains("' + search + '"))').hide();

在 visibility 属性变化时触发

当用户的焦点离开或者重新回到某个标签页时,触发 Javasrcipt:

$(document).on('visibilitychange', function (e) {
if (e.target.visibilityState === "visible") {
console.log('Tab is now in view!');
} else if (e.target.visibilityState === "hidden") {
console.log('Tab is now hidden!');
}
});

Ajax 调用错误处理

当一个 Ajax 调用返回 404 或 500 错误时,错误处理程序将被执行。若错误处理未被定义,其它 jQuery 代码可能不再有效。所以定义一个全局的 Ajax 错误处理:

$(document).ajaxError(function (e, xhr, settings, error) {
console.log(error);
});

链式插件调用

jQuery 允许通过“链式”插件调用的方法,来缓解反复查询 DOM 和创建多个 jQuery 对象的过程。例如,下面的代码代表着你的插件调用:

$('#elem').show();
$('#elem').html('bla');
$('#elem').otherStuff();

通过使用链式操作,有了显著的改善:

$('#elem')
.show()
.html('bla')
.otherStuff();

另一种方法是在变量(以 $ 为前缀)中,对元素进行缓存:

var $elem = $('#elem');
$elem.hide();
$elem.html('bla');
$elem.otherStuff();

无论是链式操作,还是缓存元素,都是 jQuery 中用以简化和优化代码的最佳实践。

所以今天

您可能感兴趣的文章:

  • jQuery基础学习技巧总结
  • jQuery实用技巧
  • jQuery 常见开发使用技巧总结
  • 关于jQuery UI 使用心得及技巧
  • jquery div 居中技巧应用介绍
  • 关于jQuery新的事件绑定机制on()的使用技巧
  • jquery操作复选框(checkbox)的12个小技巧总结
  • jQuery操作表格(table)的常用方法、技巧汇总
  • 编写高效jQuery代码的4个原则和5个技巧
  • jQuery源码分析之jQuery中的循环技巧详解

检查 jQuery 是否加载 在使用 jQuery 进行任何操作之前,你需要先确认它已经加载: if (typeof jQuery == 'un...

小影给大家带来了一些

专业技巧助你一臂之力

13. 拍全身照的时候,拍照者降低高度,采用仰拍,可以显得照片里的人儿更高更瘦。

图片 3

也可以试着将镜头放到最低或者寻找高处的视角。

图片 4

图片 5

14. 逆光拍摄时让镜头聚焦在身体的暗处,否则会因为光线不足而看不清,当然正面有补光最好。

图片 6

15. 充分利用身边的光源,充分利用柔和的光线。光线对了,自带美颜效果。早晨和傍晚的光线最适合拍照,让暖光从侧面或者斜上方照过来,这样形成的明暗对比会让脸部更立体,浪漫而迷人。

图片 7

如果光线较强,试试挡住部分光线,可以有效降低强光带来的负面效果。

图片 8

不会找光线角度怎么办?可以试试打开相机自拍,转动身体,看看哪个角度的自己看起来皮肤更有质感、画面更美,选择它妥妥的,没毛病!

16. 拍照的人最好保持胳膊肘紧贴身体,并且保持身体的稳定、平衡,这样照片才不会虚、不会抖。

图片 9

17. 拍照时善用滤镜,滤镜不是万能的,但绝对值得一试。拍美食用铬黄滤镜,风景试试单色滤镜,静物用褪色,要拍出年代感用怀旧或者冲印滤镜,每一种滤镜都有它最适合的场景。

图片 10

拍出来的天空灰蒙蒙的,失去了原有的色彩,没关系,加上滤镜,再试着改变对比度、亮度等,灰暗的照片瞬间美美哒。

图片 11

18. 打开你的HDR。HDR=高动态范围=用于对象的最明亮和最暗部分相差特别大的时候,它能让该亮的亮、让该暗的暗、让亮/暗部的细节更丰满。适合开启HDR的场景:风景照,强光、弱光下的场景;当拍摄色彩丰富、对比度高的场景和抓拍动态场景时不适合HDR。

图片 12

  1. 抓拍永远比自拍更能够获得精彩的照片。

图片 13

  1. 找不到好看的背景?天空就是最美的背景板。

图片 14

当然还有更多更专业的拍照技巧:

取景,构图,凹造型,光线,曝光,近远景......

这些就需要你花时间仔细研究,才能拍出和专业摄影师相媲美的照片了。

你可以充分利用学到的小技巧

打破自己不上镜的魔咒

当然

如果你非要反着用

打死也要拍出最吃藕的他(她)

我也拦不住你

图片 15

善用身边的一切道具

9.利用道具加持,帽子、墨镜、叶子、花、食物、小猫......所有这些都是可以用来增加时尚感、衬托你的美。

图片 16

10. 巧妙利用镜子。相信很多爱自拍的人都对着镜子臭美过,通过镜子,你可以更好的观察自己,尝试各种造型,直到找到满意的为止。

图片 17

图片 18

  1. 错位拍摄。

图片 19

图片 20

  1. 互动拍摄。

图片 21

图片 22

摆对自己很重要

  1. 拍照时尽量向后靠,远离镜头不仅显脸小,镜头畸变也会小很多。

图片 23

2. 靠近镜头的中间让畸变减少,三分法、框架式、引导线、前后景深......多种构图方法可选,让注意力集中在焦点上,镜头感和画面感也会更好,C位出道不是梦。

图片 24

图片 25

图片 26

图片 27

3. 自拍时会显得鼻子变平脑门大?稍微侧一下脸,会让脸部更立体,还能显得鼻梁高。镜头稍微抬高一点,会显脸小;收起下巴,轻微低头,更显瘦。

图片 28

4. 自信的人儿最美丽,爱笑的女孩拍出来一定不会差!除了恬静美好的微笑,充满感染力的露齿笑拍出来最好看。拍照时想想开心的事情,大胆地绽放自己最美的笑容!

图片 29

5. 伸展自己,比如向镜头伸出一条腿,压低脚尖,拍出延伸的动感,还显腿长哦。

图片 30

6. 来点小心机,挡住身体较粗壮的部分,或者犹抱琵琶半遮面,挡住小瑕疵可以拍出更完美的自己。

图片 31

实用拍照小技巧

友情提示:

本文含有大量美美的照片

如引起美翻了、萌化了、惊呆了等不适症状

后果自负

身为一个小仙女

原标题:身为一个小仙女,必须要掌握的拍照技巧

凹好造型才能让人眼前一亮

7. 善用手势,呆呆的比V已经过时了,OK、比心、捧脸杀......这么多的手势可以用,哪怕拨弄头发都好,让你的手不再无处安放。巧妙地利用手势不仅会让你看起来可爱,还能巧妙地修饰脸部线条、遮挡小瑕疵。

图片 32

8. 除了手势可以用,别忘了我们还有各种生动的表情!有没有尝试着模仿emoji表情?它不仅会减少尴尬和单调,增加趣味性,还能让人一不小心就爱上可爱的你。不过要小心,别变成别人手里的表情包哦。

图片 33

怎么能忍受镜头拍出的吃藕的自己

上期我们探讨了为什么镜子里的自己比照片里好看的问题,

本文由永利皇宫463发布于首页,转载请注明出处:jquery技巧掌握,必须要掌握的拍照技巧

关键词: