gpt4 book ai didi

jquery - 为什么这个用于使 div 转到右上角或左上角的 jQuery 代码不起作用?

转载 作者:行者123 更新时间:2023-11-28 15:36:39 25 4
gpt4 key购买 nike

我正在影响 CSS 来改变绝对位置。

jQuery - 这改变了左上角和右上角的绝对定位,最终我想在所有 Angular 落都这样做,但我从这个开始

$('#topLeft').click(function() {
$('#questionField').css('top', '0');
$('#questionField').css('left', '0');
});

$('#topRight').click(function() {
$('#questionField').css('top', '0');
$('#questionField').css('right', '0');
});

HTML(不是我所有的 ID 都正确吗?):

<body>
<div id="questionField">
<form id="questions" action="process.html">
<fieldset>
<legend>Hello World!</legend>
<p>Firstly, which corner would you like this question box to be in?</p>
<input type="radio" name="corner" id="topLeft" /><label for="topLeft"> Top Left</label><br />
<input type="radio" name="corner" id="topRight" /><label for="topRight"> Top Right</label><br />
<input type="radio" name="corner" id="bottomLeft" /><label for="bottomLeft"> Bottom Left</label><br />
<input type="radio" name="corner" id="bottomRight" /><label for="bottomRight"> Bottom Right</label><br />

<p>Now, some questions.</p>
<label for="color">Favorite Color: </label><input type="text" id="color" /><br />
<label for="animal">Favorite Animal: </label><input type="text" id="animal" /><br />
<label for="paintBrush">Favorite Paint Brush: </label><input type="text" id="paintBrush" /><br />
<label for="movie">Favorite Movie: </label><input type="text" id="movie" />
</fieldset>
</form>
</div>
</body>

CSS(如果我在没有 jQuery 的情况下手动影响它,它会起作用,但 jQuery 似乎不想影响它!):

#questionField {
position: absolute;
top: auto;
bottom: auto;
left: auto;
right: auto;
padding: 10px;
}

最佳答案

您对内联样式的使用受到了阻碍。单击这两个按钮后,jQuery 会在 DIV 上设置内联 CSS 样式,如下所示:<div id="questionField" style="left: 0px; top: 0px; right: 0px; "> -- "left:0"覆盖了 "right:0"并固定在左上角。

您需要在创建新样式之前删除旧的内联样式,或者改为切换 CSS 类。我会推荐后者。试试这个:

$('#topLeft').click(function() {
$('#questionField').removeClass().addClass('topleft');
});

$('#topRight').click(function() {
$('#questionField').removeClass().addClass('topright');
});

CSS:

#questionField {
position: absolute;
padding: 10px;
}
.topleft {
top: 0;
left: 0;
}
.topright {
top: 0;
right: 0;
}

http://jsfiddle.net/mblase75/H8R6D/2/

添加底 Angular 现在很简单:http://jsfiddle.net/mblase75/H8R6D/3/

唯一的问题是这将删除 DIV 上的所有 类,包括您不想删除的类。如果这是一个问题,请更换 .removeClass().removeClass('topright bottomright bottomleft') (或类似的东西;它应该只列出您确实想要删除的类)。

关于jquery - 为什么这个用于使 div 转到右上角或左上角的 jQuery 代码不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7995783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com