如何重用jQuery中的自定义函数来应用多个css属性
How do I reuse a custom function in jQuery to apply multiple css properties?
超级简单的概念,但它给我带来了麻烦。。。
共5个div元素第一个div居中,z索引到前面。其他4个div各占页面的1/4。悬停时,每个分区都将一个唯一的css属性应用于第一分区。
以下是我目前拥有的
或者这是代码:
$(document).ready(function(){
function point(a, b, c, d) {
$(".middle").css("transition", ".15s ease-in-out all");
$(".middle").css("border-radius", a . "% " . b . "% " . c . "% " . d . "%");
}
function unpoint() {
$(".middle").css("transition", ".15s ease-in-out all");
$(".middle").css("border-radius", "50% 50% 50% 50%");
}
$(".section-1")
.on( "mouseenter", point(0, 50, 50, 50) )
.on( "mouseleave", unpoint() );
});
谢谢你的帮助!
您可以制作一个小插件
(function($) {
function mouseenter(a, b, c, d) {
$(".middle", this).css({
transition: ".15s ease-in-out all",
borderRadius: [a, b, c, d].map(function(side) { return side+"%"; }).join(" ");
});
}
function mouseleave() {
$(".middle", this).css({
transition: ".15s ease-in-out all",
borderRadius: "50%"
});
}
$.fn.point = function(a, b, c, d) {
return this.each(function(idx, elem)) {
$(elem).hover(
function() { mouseenter.call(this, a, b, c, d); },
function() { mouseleave.call(this); }
);
});
};
})(jQuery);
然后你可以像这个一样使用它
$(document).ready(function() {
$(".section-1").point(0, 50, 50, 50);
});
在我的第一个视图中,我发现您的代码有一些问题。。
第一个问题:给定的行中存在语法错误。它应该是+代替。(点)
$(".middle").css("border-radius", a + "% " + b + "% " + c + "% " + d + "%");
第二个问题:您没有将函数分配给回调,但您只是在调用该函数。正确的语法应该是。。
$(".section-1")
.on( "mouseenter", point )
.on( "mouseleave", unpoint );
相关文章:
- 如果文本字段为空,则使用JavaScript应用CSS样式
- 如果30秒未单击,请应用CSS一次,将其删除,然后重新迭代
- 如何通过按键激活按钮应用CSS效果
- Jquery添加一个类之后,如何应用css
- 通过JS添加类时应用CSS转换
- 如何在不链接/jquery的情况下使用方法应用css属性数组
- 如何在页面刷新后使用 jquery 应用 CSS(刷新前构建 CSS)
- AngularJS - 在第一个可见元素上应用 CSS 类(Preferred No JQuery)
- Angular js ng repeat与条件ng类不应用css类
- 点击时在元素上应用css样式,独立于父级
- 如何在react组件上应用css样式
- 使用skel框架构建的响应式网站只有在使用漂亮的URL时才能应用css
- 当使用查询字符串时,我如何应用css
- 选择框在应用 css/javascript 时失去功能
- 使用 setLabel 方法对冻结列的标题应用 CSS
- 如果文件名取自用户,则不应用 CSS 规则
- 对匹配的文本应用 CSS
- 在我的JavaScript中应用CSS
- 如何调试正在应用 css 的 html 代码
- 如何计算应用 CSS 转换矩阵的 DOM 元素的边界矩形大小?不使用 Element.getBoundingClient