多个滑动开关可更改文本
Multiple slidetoggle divs change text
我有这个代码,它显示了一个配置文件div onclick,也改变了被点击元素的文本。这样的例子有很多。
<div class="show" data-target=".open1">View Profile</div>
<div class="info open1">Lorem ipsum</div>
当另一个div被打开时,先前打开的div关闭。然而,这方面的文本仍然是"密切关注"。我想改变这一点,让文本也变回来。
你知道我该怎么做吗?
var $bgs = $('.info');
var $show = $('.show');
$($show).click(function () {
var $target = $($(this).data('target')).stop(true).slideToggle();
$bgs.not($target).filter(':visible').stop(true, true).slideUp();
$(this).click(function(){
$(this).text(function(_, oldText) {
return oldText === 'Close Profile' ? 'View Profile' : 'Close Profile';
});
});
})
请检查:
var $bgs = $('.info');
var $show = $('.show');
$show.click(function () {
var $target = $($(this).data('target')).stop(true).slideToggle();
var oldOpened = $bgs.not($target).filter(':visible');
oldOpened.stop(true, true).slideUp();
if(oldOpened.length > 0){
var tempClasses = $(oldOpened).attr("class");
var oldOpenClass = $.trim(tempClasses.replace("info",""));
var oldOpenerDiv = $("div[data-target='."+oldOpenClass+"']");
$(oldOpenerDiv).text(function(_, oldText) {
return oldText === 'Close Profile' ? 'View Profile' : 'Close Profile';
});
}
$(this).text(function(_, oldText) {
return oldText === 'Close Profile' ? 'View Profile' : 'Close Profile';
});
})
.info{
display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="show" data-target=".open1">View Profile</div>
<div class="info open1">Lorem ipsum 11</div>
<div class="show" data-target=".open2">View Profile</div>
<div class="info open2">Lorem ipsum 22</div>
<div class="show" data-target=".open3">View Profile</div>
<div class="info open3">Lorem ipsum 33</div>
var $bgs = $('.info');
var $show = $('.show');
$show.click(function() {
var $target = $($(this).data('target')).stop(true).slideToggle();
$bgs.not($target).filter(':visible').stop(true, true).slideUp();
$(this).text(function(_, oldText) {
return oldText === 'Close Profile' ? 'View Profile' : 'Close Profile';
});
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div class="show" data-target=".open1">View Profile</div>
<div class="info open1">Lorem ipsum</div>
相关文章:
- 具有所有样式的文本正在复制到可编辑文本区域
- 如何更改文本框控件的不透明度值
- 通过javascript显示和更改文本
- CSS/HTML:更改文本的值并在悬停时从中心展开
- Javascript-onblur函数无法更改文本框的值
- IE8更改文本区域上的事件侦听器不工作
- 第二次点击具有不同功能的按钮并更改文本
- 文本链接可更改引导程序选项卡
- 平滑更改文本
- HTML-从mysql生成的选择框中的一个选项更改文本区域的颜色
- 如果值为负数,如何更改文本的颜色
- Bigcommerce-是否可以在函数执行后更改文本
- 如何在flash html5画布项目中动态更改文本颜色
- 在不更改边框颜色的情况下更改文本的颜色
- setInterval可更改函数的背景
- 使用Javascript更改文本区域的颜色
- 多个滑动开关可更改文本
- 单击按钮可多次更改文本
- 单击按钮可更改文本输入的文本
- 按钮单击可更改动态生成的聚焦文本框中的文本