jquery - jQuery:如何为不同的设置使用一个功能?
问题描述
这是我的代码:
$('#font_one .font_size, #font_two .font_size').on('input', function() {
var fontsizeval = $(this).val();
var fontsizemin = $(this).attr('min');
var fontsizemax = $(this).attr('max');
$('#font_one .text, #font_two .text').css("font-size", fontsizeval + "px");
});
* {
font-size: 12px;
}
.text {
font-size: 20px;
font-family: sans-serif;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="font_one">
Font Size:
<input class="font_size" type="range" value="20" min="10" max="50">
<div class="text">Text</div>
</div>
<div id="font_two">
Font Size:
<input class="font_size" type="range" value="20" min="10" max="50">
<div class="text">Text</div>
</div>
最后我必须添加很多字体。所有字体都应该可以单独调整。最好只有一个全局函数,而不是为每种字体编写相同的代码行。有没有办法做到这一点?也许有变量?范围滑块和文本区域最终不会在一个 div 中,因此不应使用.siblings()
.
将非常感谢您的帮助!:)
解决方案
使用属性将滑块与其应控制的相应 DIV 相关联。
$('.font_size').on('input', function() {
var fontsizeval = $(this).val();
var fontsizemin = $(this).attr('min');
var fontsizemax = $(this).attr('max');
var div = $("#" + $(this).data("rel"));
div.css("font-size", fontsizeval + "px");
});
* {
font-size: 12px;
}
.text {
font-size: 20px;
font-family: sans-serif;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="font_one">
Font Size:
<input class="font_size" type="range" value="20" min="10" max="50" data-rel="text1">
</div>
<div id="font_two">
Font Size:
<input class="font_size" type="range" value="20" min="10" max="50" data-rel="text2">
</div>
<div class="text" id="text1">Text</div>
<div class="text" id="text2">Text</div>
推荐阅读
- html - 将最后一个孩子放在前一个孩子旁边 - Flexbox
- r - 从 ks 包绘制 kde.local.test 结果时,fhat 评估点的误差单调增加
- api - 通用 Windows 平台上的 User32 Windows UI Api
- java - 将谷歌地图添加到底部导航栏的按钮
- list - 检查连续元素之间的差异是否相同
- matlab - 为什么在 MATLAB 中允许使用多个连续的加号语法?
- mysql - 运行查询统计
- c# - Dbcontext 的构造函数不断更改模型更新的基本参数
- html - 选择 HTML 中的多级选项
- java - 是否可以在哈希表 Java 中添加没有值的键?