我创建了一个镀铬扩展程序,在悬停一个较大的按钮(圆形按钮)时会附加三个小按钮。我想定位半径放菜单的按钮。但是,无论我做什么,三个按钮的顶部和左侧属性都没有设置。我还将属性“position”设置为'absolute',但是没有为三个按钮设置。
我试过了:
1)button.setAttribute("style","top:20px");
2)button.style.setProperty("top","-20px");
3)$(button).css("top","-20px");
4)button.style.top = "-20";
5)button.style.top = -20 + "px";
我可以设置所有其他属性,如颜色,背景颜色,边框,显示等。可能是什么问题?
以下是我创建小按钮的方法:
var btnOne = document.createElement('button');
btnOne.setAttribute("id","b1");
var textOne = document.createElement('span');
textOne.textContent = '10';
btnOne.style.position = "absolute";
btnOne.style.setProperty("top","-20px");
btnOne.style.setProperty("left","-25px");
textOne.style.color = ColorCode
btnOne.setAttribute("style","display:block; border:1px solid #ccc; background-color: #fff; border-radius: 50%; transition: background-color 0.5s ease");
btnOne.appendChild(textOne);
(ColorCode是一个变量)
从下面的代码片段中可以看出,在悬停largeButton时,小按钮(btnOne)应该附加到div'元素',这是一个存在于特定网页上的元素,其子元素是largeButton。它会附加,但是,三个小按钮在大按钮下方显示为垂直列表,而不是在指定位置。我选择将小按钮附加到div元素,因为它有一个常量类,而largeButton的类不断变化。
var element = document.getElementsByClassName("u-relative u-foreground")[5];
$(largeButton).hover(function(e) {
if (!element.contains(btnOne)) {
element.appendChild(btnOne);
element.appendChild(btnTwo);
element.appendChild(btnThree);
};
这显示我如何只为其中一个按钮添加。