我将如何批量添加大量 jquery 脚本,在一个循环中只有一个细微的差异
How would I batch add a ton of jquery scripts with only one minor difference in a loop?
这是我的代码。基本上,我正在根据鼠标的位置和滚动位置来计算大量图像的模糊。我想用大约 100 张图像来执行此操作,但我不想为了更改以下内容而复制此脚本 100 次:
var offset[x] = $('#img[x]').offset();
然后是公式:
'filter': 'blur(' + ((Math.abs(offset[x].top - e.pageY) - 30) / 20) + 'px)',
等等。
我可以循环执行此操作吗?
这是我目前拥有的。
$(document).on('mousemove', function(e){
var offset1 = $("#img1").offset();
var offset2 = $("#img2").offset();
$("div.c").html(Math.abs(offset1.top - e.pageY));
$('#img1').css({
'filter': 'blur(' + ((Math.abs(offset1.top - e.pageY) - 30) / 20) + 'px)',
'-webkit-filter': 'blur(' +((Math.abs(offset1.top - e.pageY) - 30) / 20) + 'px)',
'-moz-filter': 'blur(' +((Math.abs(offset1.top - e.pageY) - 30) / 20) + 'px)',
'-o-filter': 'blur(' + e.pageY - offset1.top + 'px)',
'-ms-filter': 'blur(' + ((Math.abs(offset1.top - e.pageY) - 30) / 20) + 'px)'
});
$('#img2').css({
'filter': 'blur(' + ((Math.abs(offset2.top - e.pageY) - 30) / 20) + 'px)',
'-webkit-filter': 'blur(' +((Math.abs(offset2.top - e.pageY) - 30) / 20) + 'px)',
'-moz-filter': 'blur(' +((Math.abs(offset2.top - e.pageY) - 30) / 20) + 'px)',
'-o-filter': 'blur(' + e.pageY - offset2.top + 'px)',
'-ms-filter': 'blur(' + ((Math.abs(offset2.top - e.pageY) - 30) / 20) + 'px)'
});
});
谢谢!
你可以
使用 jQuery .each()
$(document).on('mousemove', function(e){
$( "img" ).each(function( index ) {
// Do it for each image
var currentImage = $(this);
var offset = currentImage.offset();
currentImage.css({
'filter': 'blur(' + ((Math.abs(offset.top - e.pageY) - 30) / 20) + 'px)',
'-webkit-filter': 'blur(' +((Math.abs(offset.top - e.pageY) - 30) / 20) + 'px)',
'-moz-filter': 'blur(' +((Math.abs(offset.top - e.pageY) - 30) / 20) + 'px)',
'-o-filter': 'blur(' + e.pageY - offset.top + 'px)',
'-ms-filter': 'blur(' + ((Math.abs(offset.top - e.pageY) - 30) / 20) + 'px)'
});
});
});
您可以直接选择所有图像,而不是使用其 #ID 选择一个图像,或者将类添加到要选择的图像中,并使用 .each() 遍历所有选定的元素。
相关文章:
- jQuery:循环一个具有不同超时值的循环
- 按照选项卡索引的顺序循环一个jQuery选择
- 循环一个单调乏味的任务
- 如何在 Clojurescript 中循环一个 JavaScript 对象并将每个对象推送到一个数组中
- 在脚本内部循环一个单词并对其进行更改
- 在ajax响应中循环一个json对象
- 循环一个JS对象
- Node.js -每次循环一个url数组
- 在javascript中循环一个PHP数组
- jQuery在.promise()之后循环一个函数
- 用canvas和javascript的if语句循环一个帧
- 循环一个嵌入文档数组,将新值推入一个字段
- javascript或jquery:循环一个多维对象
- 循环一个函数或使用多个
- 循环一个函数直到被告知停止
- 在nodejs中循环一个文本文件
- Javascript循环一个对象数组并返回一个新数组
- 循环一个动态文本大小函数
- 在Elixir中循环一个Stylus命令
- Javascript forEach -如何循环一个对象