我需要从javascript函数动态地更改类的左属性。
.mega-dropdown-menu:before {
content: "";
border-bottom: 15px solid #fff;
border-right: 17px solid transparent;
border-left: 17px solid transparent;
position: absolute;
top: -15px;
left: **attr(data-left px)**;
z-index: 10;
}
function DropDownHover() {
try {
$(".dropdown").hover(
function () {
$('.dropdown-menu', this).not('.in .dropdown-menu').stop(true, true).slideDown("400");
$(this).toggleClass('open');
var objChevron = $(this).find(".fa-chevron-down");
if (objChevron.length >0) {
var offset = $(this).find(".fa-chevron-down").offset();
var offsetBefore = offset.left - 273;
$('.mega-dropdown-menu').attr('data-left', offsetBefore);
}
},
function () {
$('.dropdown-menu', this).not('.in .dropdown-menu').stop(true, true).slideUp("400");
$(this).toggleClass('open');
}
);
} catch (err) { alert(err.message); }
}在执行过程中,我得到像素数,数据左被设置为div,但是偏移量没有应用到左属性。

我也尝试过attr(数据左数)和attr(数据左),它们都有相同的结果。
我遗漏了什么?
发布于 2018-09-06 20:22:45
您可以只对attr()属性使用content语法。
为什么不去
$('.mega-dropdown-menu').css('left', offsetBefore+'px');https://stackoverflow.com/questions/52211575
复制相似问题