用于更改收音机文本的 jquery 动画
jquery animation to change text of radio
我正在尝试引入动画并更改div标签内的文本以及针对单选按钮的文本
我能够用动画更改div的文本但是我无法通过动画更改收音机上的文本
注意 - 没有动画,我能够根据我之前提出的问题做到这一点
这是我作为 HTML 的内容:
<div id="questionBlock">
<article>loremipsum dah blah blah </article>
</div>
<label class="block" id="lblFirstOption" for = "sizeSmall">
<input type = "radio" name = "radSize" id = "sizeSmall" value = "small" />small
</label>
适用于简单div 的 Jquery :
$('#questionBlock article').fadeOut(function() {
$(this).text(val["carType"]).fadeIn().delay(3000);
});
不适用于标签文本的 Jquery 会用动画更改:
$('#sizeSmall')[0].nextSibling.nodeValue.fadeOut(function() {
$(this)[0].nextSibling.nodeValue(val["carType"]).fadeIn().delay(3000);
});
有什么想法吗?
.nodeValue 不是一个函数,你只需用赋值来设置它
$(this)[0].nextSibling.nodeValue = val["carType"];
此外,由于您现在使用的是实际的 DOM 对象,因此您不再在 jQuery 链中,因此在调用后链接 fadeIn 和延迟将失败。即使你还在jQuery链中,你也不能淡入/淡出textNodes。您需要将文本包装在另一个元素中,例如 span
.HTML
<label class="block" id="lblFirstOption" for = "sizeSmall">
<input type = "radio" name = "radSize" id = "sizeSmall" value = "small" />
<span>small</span>
</label>
.js
$('#sizeSmall').next().fadeOut(function() {
$(this).text(val["cartype"]).fadeIn().delay(3000)
});
$('#lblFirstOption span').fadeOut(function() {
$(this).parent().append('<span>TestRadio</span>').fadeIn().delay(3000);
});
现场演示
相关文章:
- 剑道网格jQuery动画()问题
- jquery动画可以通过编程链接吗
- JQuery动画延长容器不起作用
- 如何正确编程jQuery动画与平滑(导航栏)
- jQuery动画-边框宽度和颜色
- 如何抽象JQuery动画方法
- jQuery动画标题滚动
- JQuery - 为什么 JQuery 动画是同时进行的
- 如何用jquery动画改变背景颜色,就像一个过渡
- 正在等待jQuery动画完成
- 如何优化jquery动画代码
- jQuery动画的持续时间就像一个延迟
- 创建一个类似Jquery动画的Flipboard弹出窗口
- 应用jQuery动画时出现意外的抖动效果
- 如何设置'auto'JQuery动画中的高度
- jQuery动画缩放需要我点击主体
- 如何将jquery动画应用于单个项目
- 如何简化jquery动画函数代码
- 使用 jquery 动画幻灯片使用角度中继器切换
- Jquery动画和when函数